时间:2021-05-22
要对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'>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1.tensor张量与numpy相互转换tensor----->numpyimporttorcha=torch.ones([2,5])tensor([[1.,1
numpy中的ndarray转化成pytorch中的tensor:torch.from_numpy()pytorch中的tensor转化成numpy中的ndar
传统使用opencv自带的swapaxes进行转换,然后使用pytorch的from_numpy转为tensor例如:img=img.swapaxes(1,2)
看代码,tensor转numpy:a=torch.ones(2,2)b=a.numpy()c=np.array(a)#也可以转numpy数组print(type
假设result1为tensor格式,首先将其化为array格式(注意只变成numpy还不行),之后存为txt和mat格式importscipy.ioasior