在Tensorflow里:
使用张量(tensor)表示数据。 使用图(graph)来表示计算任务。 在被称之为会话(Session)的上下文(context)中执行图。 通过变量 (Variable)维护状态。 使用feed和fetch可以为任意的操作(arbitrary operation)赋值或者从其中获取数据。张量(tensor):
张量可以看作是多重向量空间映射到实数域空间。说白了就是多维数组。
所以在tensorflow 中:
constant 常量张量 variable 变量,一般是可以被更更新或更改的数值而numpy虽然也提供n位数组,但不提供创建张量函数和求导,也不提供GPU支持
b = np.array( [ (1.5,2,3), (4,5,6) ] )
二、Variable与numpy之间的相互转化1 直接转化
# -*- coding: utf-8 -*-
import tensorflow as tf
# 创建张量
t = tf.constant([1, 2, 3, 4], tf.float32)
# 创建会话
session = tf.Session()
# 张量转化为ndarray
array = session.run(t)
# 打印其数据类型与其值
print(type(array))
print(array)
[ 1. 2. 3. 4.]
2 利用Tensor的成员函数eval
# -*- coding: utf-8 -*-
import tensorflow as tf
# 创建张量
t = tf.constant([1, 2, 3, 4], tf.float32)
# 创建会话
session = tf.Session()
# 张量转化为ndarray
array = t.eval(session=session)
# 打印其数据类型与其值
print(type(array))
print(array)
[ 1. 2. 3. 4.]
3.ndarray转化为tensor
TensorFlow 通过 convert_to_tensor 这个函数进行转换,代码如下:
# -*- coding: utf-8 -*-
import tensorflow as tf
import numpy as np
# 创建ndarray
array = np.array([1, 2, 3, 4], np.float32)
# 将ndarray转化为tensor
t = tf.convert_to_tensor(array, tf.float32, name='t')
# 打印输出
print(t)
Tensor("t:0", shape=(4,), dtype=float32)