首页
学习
活动
专区
圈层
工具
发布

tensorflow零起点快速入门(3)

创造并运行数据

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

代码语言:javascript
复制
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)只是一条额外的语句用于保存图)

代码语言:javascript
复制
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

代码语言:javascript
复制
sess=tf.InteractiveSession()
xss=x.eval()
print(xss)

使用tensorflow定义函数表达式

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

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

代码语言:javascript
复制
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()即可直接输出显示

通过断言获取默认图

代码语言:javascript
复制
assert z.graph is tf.get_default_graph()
print(z.graph)

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

代码语言:javascript
复制
zdat=z.get_shape()
print(zdat)
zlst=z.get_shape().as_list()
print(zlst)
代码语言:javascript
复制
zdat=tf.shape(z).eval()
print(zdat)

合并计算张量数据

代码语言:javascript
复制
zdat=tf.stack([tf.shape(z),tf.shape(z),[3],[4]]).eval()
print(zdat)

矩阵乘法举例求图

代码语言:javascript
复制
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()

再求一张图

代码语言:javascript
复制
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()

观察数据,操作

代码语言:javascript
复制
print(y.eval())
代码语言:javascript
复制
ops=tf.get_default_graph().get_operations()
print([op.name for op in ops])

最终

文档

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

下一篇
举报
领券