В этой статье мы рассмотрим некоторые примеры 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 КитайЧесть запуска