tensorflow代码改成pytorch,tensorflow2.0和pytorch

  tensorflow代码改成pytorch,tensorflow2.0和pytorch

  本文主要介绍tensorflow和pytorch之间的相互转换,通过示例代码进行了非常详细的介绍,对大家的学习或工作有一定的参考价值。有需要的朋友下面和边肖一起学习。

  00-1010 1.变量预定义2。创建变量和初始化3。语句执行4 .张量5 .其他函数。以一段代码为例,简单介绍一下tensorflow和pytorch之间的相互转换(主要是tensorflow到pytorch),可能没那么详细,仅供参考。

  由于我只熟悉pytorch,对tensorflow了解不多,而且代码经常遇到tensorflow,想用pytorch,所以简单介绍一下tensorflow给pytorch,可能会有很多错误。希望轻喷~

  

目录

  在TensorFlow的世界里,变量的定义和初始化是分开的。

  在tensorflow中,变量一般在一开始就被预定义,以声明它们的数据类型、形状等。然后在执行过程中赋予具体的值,如下图所示。但是pytorch只是在使用的时候才定义,定义和变量初始化结合在一起。

  

1.变量预定义

  Tensorflow用的是tf。变量来创建变量并进行初始化,而pytorch使用torch.tensor来创建变量并进行初始化,如下图所示。

  

2.创建变量并初始化

  在TensorFlow的世界里,变量的定义和初始化是分开的,所有图形变量的赋值和计算都要通过tf的运行来进行。会议

  sess.run([G_solver,G_loss_temp,MSE_loss),

  feed_dict={X: X_mb,M: M_mb,H: H_mb})

  在pytorch中,不需要运行,赋值后直接计算即可。

  

3.语句执行

  pytorch操作期间创建的numpy数组被转换为张量,如下所示:

  如果use_gpu为True:

  X_mb=torch.tensor(X_mb,device=cuda )

  M_mb=torch.tensor(M_mb,device=cuda )

  H_mb=torch.tensor(H_mb,device=cuda )

  else:

  X_mb=torch.tensor(X_mb)

  M_mb=torch .张量(M_mb)

  H_mb=torch .张量(H_mb)

  最后,张量数据类型将被转换回numpy数组:

  如果use_gpu为True:

  imputed _ data=imputed _ data.cpu()。分离()。numpy()

  else:

  imputed _ data=imputed _ data . detach()。numpy()

  tensorflow中不需要此操作。

  

4.tensor

  Tensorflow包含了很多pytorch中没有的函数,但都可以在其他库中找到,如下表所示。

  在tensorflow中,函数pytorch中的替换(在库中)参数完全相同:TF . sqrtnp . sqrt(numpy)TF . random . normal(numpy)TF . random _ normal(shape=size,stddev=Xavier _ stddev)

  np.random.normal(size=size,scale=Xavier _ stddev)TF . concat torch . cat(torch)inputs=TF . concat(values=[x,m],axis=1)

  inputs=torch.cat(dim=1,tensors=[x,m])Tf . nn . reluf . relu(torch . nn . functional)完全相同的TF . nn . sigmoid torch . sigmoid(torch)完全相同的tf.matmultorch.matmul(torch)完全相同的tf.reduce_meantorch.mean(torch)完全相同的tf.log Torch.log(torch)完全相同的tf.zerosnp.zeros完全相同的TF。火车。adamoptimizertorch。optim。亚当(火炬)优化器_ d=tf。火车。adamoptimizer()。最小化(d _ loss,var _ list=theta _ d)

  optimizer _ d=torch . optim . Adam(params=theta _ d)就是这样。本文介绍tensorflow和pytorch之间的相互转换。关于tensorflow和pytorch相互转换的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: