tensor 和 numpy 的互相转换

来源:互联网 发布:淘宝店铺设置自动回复 编辑:程序博客网 时间:2024/06/08 12:37

要对tensor进行操作,需要先启动一个Session,否则,我们无法对一个tensor比如一个tensor常量重新赋值或是做一些判断操作,所以如果将它转化为numpy数组就好处理了。下面一个小程序讲述了将tensor转化为numpy数组,以及又重新还原为tensor:

import tensorflow as tfimg1 = tf.constant(value=[[[[1],[2],[3],[4]],[[1],[2],[3],[4]],[[1],[2],[3],[4]],[[1],[2],[3],[4]]]],dtype=tf.float32)img2 = tf.constant(value=[[[[1],[1],[1],[1]],[[1],[1],[1],[1]],[[1],[1],[1],[1]],[[1],[1],[1],[1]]]],dtype=tf.float32)img = tf.concat(values=[img1,img2],axis=3)sess=tf.Session()#sess.run(tf.initialize_all_variables())sess.run(tf.global_variables_initializer())print("out1=",type(img))#转化为numpy数组img_numpy=img.eval(session=sess)print("out2=",type(img_numpy))#转化为tensorimg_tensor= tf.convert_to_tensor(img_numpy)print("out2=",type(img_tensor))

输出:

out1= <class 'tensorflow.python.framework.ops.Tensor'>out2= <class 'numpy.ndarray'>out2= <class 'tensorflow.python.framework.ops.Tensor'>

参考资料:好的博客

原创粉丝点击