1.构建计算图(graph)过程:
定义张量,使用matmul或add等进行操作
2.载入回话(sess):
1)基本方式:sess=tf.Session();sess.run();sess.close()
2)简洁方式:with tf.Session() as sess: sess.run() 自动关闭回话
3)交互方式:sess = tf.InteractiveSession();Operation.run();Tensor.eval()
在交互方式中,对具体操作进行直接回话,对具体张量的值进行显示输出
3.指定运算设备:
默认使用cpu,有gpu则默认使用gpu0,可通过with tf.device("/gpu:1")调用第2个gpu
4.AVX:
高级矢量扩展,CPU支持高级矢量扩展,但是在有GPU时不需要,
可调用os库,使用os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'忽略警告
5.变量(variables):
存储状态信息,即参数
6.变量初始化:
1)并行方式:init_op = tf.initialize_all_variables();sess.run(init_op) 初始化全部变量
2)自定义方式:w2 = tf.Variable(w1.initialized_value(),name='w2') 使用另一个张量的值初始化一个变量,仍需要并行初始化
7.assign函数:通过将 "value" 赋给 "ref" 来更新 "ref"。
assign (
ref ,
value ,
validate_shape = None ,
use_locking = None ,
name = None
)
ref:一个可变的张量。应该来自变量节点。节点可能未初始化。
value:张量。必须具有与 ref 相同的类型。是要分配给变量的值。
validate_shape:一个可选的 bool。默认为 True。如果为 true, 则操作将验证 "value" 的形状是否与分配给的张量的形状相匹配;如果为 false, "ref" 将对 "值" 的形状进行引用。
use_locking:一个可选的 bool。默认为 True。如果为 True, 则分配将受锁保护;否则, 该行为是未定义的, 但可能会显示较少的争用。
name:操作的名称(可选)。
8.取回/输出:
可以使用列表一次执行多个变量的回话,将 多个变量的结果一次性输出
9.喂入feed:
在执行会话时,可以使用feed_dict={}指定数据,主要是对使用placeholder进行占位的变量