Простой пример с TensorFlow

Google машинное обучение TensorFlow

В этой статье мы рассмотрим некоторые примеры TensorFlow и почувствуем, насколько просто определять тензоры и выполнять с ними математические операции, а также я приведу несколько других примеров, связанных с машинным обучением.

Что такое ТензорФлоу?

TensorFlow — это библиотека, разработанная Google для выполнения сложных математических вычислений, которые занимают слишком много времени.

На самом деле TensorFlow может многое. Например:

  • Решайте сложные математические выражения
  • методы машинного обучения. Вы передаете ему набор образцов данных для обучения, а затем даете другой набор образцов данных, чтобы предсказать результат на основе обучающих данных. Это искусственный интеллект!
  • Графический процессор поддерживается. Вы можете использовать GPU (графический процессор) вместо CPU для более быстрой работы. TensorFlow имеет две версии: версию для процессора и версию для графического процессора.

Прежде чем вы начнете писать примеры, вам нужно знать некоторые основы.

Что такое тензор?

Tensor tensor — это основной блок данных, используемый TensorFlow, он похож на переменную, TensorFlow использует его для обработки данных. Тензоры имеют атрибуты размерности и типа.

Размерность относится к количеству строк и столбцов тензора.Вы узнаете, когда прочитаете это позже.Мы можем определить одномерные тензоры, двумерные тензоры и трехмерные тензоры.

Тип относится к типу данных элементов тензора.

определить одномерный тензор

Тензор можно определить, создав массив NumPy илиСписок Python, затем используйтеtf_convert_to_tensorФункция преобразует его в тензор.

Массив можно создать с помощью NumPy следующим образом:

import numpy as np arr = np.array([1, 5.5, 3, 15, 20])
arr = np.array([1, 5.5, 3, 15, 20])

Выполнение результата показывает размеры и форму этого массива.

import numpy as np
arr = np.array([1, 5.5, 3, 15, 20])
print(arr)
print(arr.ndim)
print(arr.shape)
print(arr.dtype)

Это похоже на список Python, но здесь нет запятых между элементами.

использовать сейчасtf_convert_to_tensorФункция преобразует этот массив в тензор.

import numpy as np
import tensorflow as tf
arr = np.array([1, 5.5, 3, 15, 20])
tensor = tf.convert_to_tensor(arr,tf.float64)
print(tensor)

Результат этого запуска показывает конкретное значение тензора, но не показывает элементы тензора.

Чтобы увидеть элементы тензора, запустите сеанс следующим образом:

import numpy as np
import tensorflow as tf
arr = np.array([1, 5.5, 3, 15, 20])
tensor = tf.convert_to_tensor(arr,tf.float64)
sess = tf.Session()
print(sess.run(tensor))
print(sess.run(tensor[1]))

определить двумерный тензор

Определите двумерный тензор так же, как одномерный тензор, но определите массив следующим образом:

arr = np.array([(1, 5.5, 3, 15, 20),(10, 20, 30, 40, 50), (60, 70, 80, 90, 100)])

Затем преобразуйте в тензор:

import numpy as np
import tensorflow as tf
arr = np.array([(1, 5.5, 3, 15, 20),(10, 20, 30, 40, 50), (60, 70, 80, 90, 100)])
tensor = tf.convert_to_tensor(arr)
sess = tf.Session()
print(sess.run(tensor))

Теперь вы должны знать, как определять тензоры, так как же выполнять математические операции между тензорами?

Посчитайте тензоры

Предположим, у нас есть следующие два массива:

arr1 = np.array([(1,2,3),(4,5,6)])
arr2 = np.array([(7,8,9),(10,11,12)])

С TensorFlow вы можете выполнять множество математических операций. Теперь нам нужно суммировать эти два массива.

Используйте функцию сложения для суммирования:

import numpy as np
import tensorflow as tf
arr1 = np.array([(1,2,3),(4,5,6)])
arr2 = np.array([(7,8,9),(10,11,12)])
arr3 = tf.add(arr1,arr2)
sess = tf.Session()
tensor = sess.run(arr3)
print(tensor)

Вы также можете умножать массивы вместе:

import numpy as np
import tensorflow as tf
arr1 = np.array([(1,2,3),(4,5,6)])
arr2 = np.array([(7,8,9),(10,11,12)])
arr3 = tf.multiply(arr1,arr2)
sess = tf.Session()
tensor = sess.run(arr3)
print(tensor)

Теперь ты знаешь.

3D тензор

Мы уже знаем, как использовать 1D-тензоры и 2D-тензоры Теперь давайте посмотрим на 3D-тензоры, но на этот раз вместо чисел мы будем использовать изображение RGB. На этом изображении каждый пиксель представлен комбинацией x, y, z.

Эти комбинации формируют ширину, высоту и глубину цвета изображения.

Сначала импортируйте изображение с помощью библиотеки matplotlib. Если в вашей системе нет matplotlib, вы можетеиспользовать пунктустановить его.

Поместите изображение в тот же каталог, что и файл Python, затем импортируйте изображение с помощью matplotlib:

import matplotlib.image as img
myfile = "likegeeks.png"
myimage = img.imread(myfile)
print(myimage.ndim)
print(myimage.shape)

Из текущего результата вы должны увидеть, что это 3D-изображение имеет ширину 150, высоту 150 и глубину цвета 3.

Вы также можете проверить это изображение:

import matplotlib.image as img
import matplotlib.pyplot as plot
myfile = "likegeeks.png"
myimage = img.imread(myfile)
plot.imshow(myimage)
plot.show()

так круто!

Итак, как использовать TensorFlow для обработки изображений? Супер легко.

Создавайте или обрезайте изображения с помощью TensorFlow

Сначала присвойте значение заполнителю:

myimage = tf.placeholder("int32",[None,None,3])

Используйте операцию обрезки, чтобы обрезать изображение:

cropped = tf.slice(myimage,[10,0,0],[16,-1,-1])

Наконец, запустите этот сеанс:

result = sess.run(cropped, feed\_dict={slice: myimage})

Затем вы можете увидеть изображение, обработанное с помощью matplotlib.

Вот весь код:

import tensorflow as tf
import matplotlib.image as img
import matplotlib.pyplot as plot
myfile = "likegeeks.png"
myimage = img.imread(myfile)
slice = tf.placeholder("int32",[None,None,3])
cropped = tf.slice(myimage,[10,0,0],[16,-1,-1])
sess = tf.Session()
result = sess.run(cropped, feed_dict={slice: myimage})
plot.imshow(result)
plot.show()

Разве это не удивительно?

Преобразование изображений с помощью TensorFlow

В этом примере мы будем использовать TensorFlow для простого преобразования.

Сначала укажите изображение для обработки и инициализируйте значения переменных TensorFlow:

myfile = "likegeeks.png"
myimage = img.imread(myfile)
image = tf.Variable(myimage,name='image')
vars = tf.global_variables_initializer()

Затем вызовите функцию транспонирования для преобразования, эта функция используется для отражения осей 0 и 1 входной сетки.

sess = tf.Session()
flipped = tf.transpose(image, perm=[1,0,2])
sess.run(vars)
result=sess.run(flipped)

Затем вы можете увидеть изображение, обработанное с помощью matplotlib.

import tensorflow as tf
import matplotlib.image as img
import matplotlib.pyplot as plot
myfile = "likegeeks.png"
myimage = img.imread(myfile)
image = tf.Variable(myimage,name='image')
vars = tf.global_variables_initializer()
sess = tf.Session()
flipped = tf.transpose(image, perm=[1,0,2])
sess.run(vars)
result=sess.run(flipped)
plot.imshow(result)
plot.show()

Все приведенные выше примеры показывают, насколько просто использовать TensorFlow.


via: наставник woohoo.co.IO/сразу гики/'s…

автор:LikeGeeksПереводчик:ghsgzВычитка:wxy

Эта статья написанаLCTTоригинальная компиляция,Linux КитайЧесть запуска