- tensorflow和numpy值的差别
在numpy中生成的np.array可以直接在 debug中看到产生的具体数字;
而在tensorflow中却只是一个tensor类型,需要调用tf.Session().run(XX)才行,tensorflow中是图操作
import tensorflow as tf
import numpy as np
def t1():
#这个说明Variable的值可以边,而tensor的值不会变
a =tf.Variable(tf.ones((6,6,3)))
values = np.array([[[2,2,3],[4,4,3],[1,1,7],[6,6,0]],
[[1,2,4],[0,2,3],[1,9,3],[6,8,3]],
[[0,2,3],[1,9,3],[6,8,3],[6,8,3]],
[[2,2,3],[4,4,3],[1,1,7],[6,6,0]]])
#tf.Variable.assign()与tf.assign是不同的,前者是进行赋值操作,后者是可以添加操作;
b = a[0:4,0:4,].assign(values)
xx = tf.assign(a[0:2, :, :], a[0:2, 0:2, :] + values[0:2, 0:2, :])
init = tf.global_variables_initializer()
print(values.shape)
with tf.Session() as sess:
sess.run(init)
c1,c2=sess.run([a,b])
print(c1.shape)
print(c2.shape)
sess.close()
t1()
- np.arry(list),对列表转化为np.np.ndarray类型、