例子
import tensorflow as tf
a = tf.constant(5.0)
b = tf.constant(6.0)
sum = tf.add(a, b)
with tf.Session as sess:
sess.run(sum)
其中:sess.run() 是启动整个graph
sess.close()是释放资源
tf.Session(graph=’指定运行的graph’, config = tf.ConfigProto(log_device_placement=True))
config可以设置之后可以查看运行情况
运行时的警告:
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
tensor:张量
operation(op): 专门运算的操作节点,所有操作都是一个op
graph: 图,整个程序的结构
session: 会话,用来运算程序的图(一次只能运行一个图结构)
3. 创建与使用
g = tf.Graph()
with g.as_default():
a = tf.constant(1.0)
assert c.graph is g
4. op:只要使用tensorflow的api定义的函数都是op
5. tensor: 就指代的事数据
分类:
交互式(命令行):
import tensorflow as tf
a = tf.constant(3.0)
tf.InteractiveSession()
a.eval() # 3.0
只要有会话的上下文环境,就可用eval()直接运行。
run()方法:
实时提供数据,需要使用placeholder来提供一个占位符:
plt = tf.placeholder(type = tf.float32, shape = [2,3])
sess.run(plt, feed_dict={plt: [[1, 2, 4][5, 7, 8]]}
2. 形状的改变:
plt = tf.placeholder(tf.float32, [None, 2])
plt.set_shape([3, 2])
性质:
a. 不新建tensor
b. 一旦设置为固定值之后,则不可再修改
c. 维数不能修改,只能同维度下修改
tf.reshape(tensor=plt, shape=[2, 3])
性质:
a. 新建一个tesnor
b. 可一直修改
c. 可夸维修改,即可修改维数,但是元素个数必须匹配。
3. 操作
a. 生成张量
tf.zeros(shape, dtype = df.float32, name=None)
tf.ones(shape, dtype = df.float32, name=None)
tf.constant(value, shape=None, dtype = Noen, name=None)
tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
b. 修改类型
tf. string_to_number(string_tensor, out_type=None, name=None)
tf.todouble(x, name=’toDouble’)
暂时就就写到这了,后续请看下一篇哦…