tensorflow零起点快速入门(3)

创造并运行数据

创造了-3到3的32条数据,然后通过sess.run获取并显示输出数据。

x=tf.linspace(-3.0,3.0,32)
print(x)
sess=tf.Session()
result=sess.run(x)
print(result)

运行数据的另一种方法是使用eval(),括号里面添加session部分,否则失效报错:

(xsum=tf.summary.FileWriter(".",sess.graph)只是一条额外的语句用于保存图)

xsum=tf.summary.FileWriter(".",sess.graph)
xss=x.eval(session=sess)
print(xss)
sess.close()

  

运行数据的另一种方式

使用互动会话模式可以在eval中,不用添加session参数而运行。

另外可阅读:https://blog.csdn.net/jiaoyangwm/article/details/79248535

sess=tf.InteractiveSession()
xss=x.eval()
print(xss)

  

使用tensorflow定义函数表达式

延续之前的代码,这里定义了函数:

 参阅网址:https://baijiahao.baidu.com/s?id=1621087027738177317&wfr=spider&for=pc

segma=1.0
mean=0.0
z=tf.exp(tf.negative(tf.pow(x-mean,2)/(2*tf.pow(segma,2.0))))*
    (1/segma*tf.sqrt(2*3.14159))
print(z)
print(z.eval())

通过z.eval()即可直接输出显示

通过断言获取默认图

assert z.graph is tf.get_default_graph()
print(z.graph)

  

tensorflow中的数据获取形状,和转化列表

zdat=z.get_shape()
print(zdat)
zlst=z.get_shape().as_list()
print(zlst)
zdat=tf.shape(z).eval()
print(zdat)

合并计算张量数据

zdat=tf.stack([tf.shape(z),tf.shape(z),[3],[4]]).eval()
print(zdat)

  

矩阵乘法举例求图

import matplotlib.pyplot as plt
z_2d=tf.matmul(tf.reshape(z,[32,1]),tf.reshape(z,[1,32])) print(z_2d) z_2dx=z_2d.eval() print(z_2dx) plt.imshow(z_2dx) plt.show()

再求一张图

x=tf.reshape(tf.sin(tf.linspace(-3.0,3.0,32)),[32,1])
y=tf.reshape(tf.ones_like(x),[1,32])
z=tf.multiply(tf.matmul(x,y),z_2d)
z_gabor=z.eval()
plt.imshow(z_gabor)
plt.show()

  

观察数据,操作

print(y.eval())
ops=tf.get_default_graph().get_operations()
print([op.name for op in ops])

  

最终

文档

http://wiki.jikexueyuan.com/project/tensorflow-zh/

原文地址:https://www.cnblogs.com/bai2018/p/11900322.html