一、tensorflow支持的三种张量
· 常量
· 变量
· 占位符
所有常量、变量和占位符将在代码的计算图部分中定义。如果在定义部分使用 print 语句,只会得到有关张量类型的信息,而不是它的值。
为了得到相关的值,需要创建会话图并对需要提取的张量显式使用运行命令
1、常量
#声明一个标量常量
tf.constant(4)
#声明一个常量向量
tf.constant([1,2,3])
#所有元素全为0的张量,数据类型(dtype)可以是 int32、float32 等
tf.zeros([M,N],tf.dtype)
#在一定范围内生成一个从初值到终值等差排布的序列,相应的值为 (stop-start)除以(num-1)
tf.linspace(start,stop,num)
#从开始(默认值为0)生成一个数字序列,增量为 delta(默认值为1),直到终值(但不包括终值)
tf.range(start,limit,delta)
2、变量
变量通常在神经网络中表示权重和偏置
#初始化变量
init = tf.initialize_all_variables()
3、占位符
用于将数据提供给计算图
#定义一个占位符
tf.placeholder(dtype,shape=None,name=None)
二、如何指定设备(CPU/GPU)
会话配置使用 tf.ConfigProto 进行控制。
要验证 TensorFlow 是否确实在使用指定的设备(CPU 或 GPU),可以创建会话,并将 log_device_placement 标志设置为 True;
如果你不确定设备,并希望 TensorFlow 选择现有和受支持的设备,则可以将 allow_soft_placement 标志设置为 True。
tf.ConfigProto(allow_soft_placement=True, log_device_placement=True)
函数 tf.device() 选择设备(CPU 或 GPU)。with 块确保设备被选择并用于其操作。with 块中定义的所有变量、常量和操作将使用在 tf.device() 中选择的设备。
会话配置使用 tf.ConfigProto 进行控制。通过设置 allow_soft_placement 和 log_device_placement 标志,告诉 TensorFlow 在指定的设备不可用时自动选择可用的设备,并在执行会话时给出日志消息作为描述设备分配的输出。