首页 热点 业界 科技快讯 数码 电子消费 通信 前沿动态 电商

世界简讯:浅谈tensorflow与pytorch的相互转换

2022-06-28 09:51:32 来源 : 软件开发网

目录

1.变量预定义

2.创建变量并初始化

3.语句执行


(资料图片仅供参考)

4.tensor

5.其他函数

本文以一段代码为例,简单介绍一下tensorflow与pytorch的相互转换(主要是tensorflow转pytorch),可能介绍的没有那么详细,仅供参考。

由于本人只熟悉pytorch,而对tensorflow一知半解,而代码经常遇到tensorflow,而我希望使用pytorch,因此简单介绍一下tensorflow转pytorch,可能存在诸多错误,希望轻喷~

1.变量预定义

在TensorFlow的世界里,变量的定义和初始化是分开的。tensorflow中一般都是在开头预定义变量,声明其数据类型、形状等,在执行的时候再赋具体的值,如下图所示,而pytorch用到时才会定义,定义和变量初始化是合在一起的。

2.创建变量并初始化

tensorflow中利用tf.Variable创建变量并进行初始化,而pytorch中使用torch.tensor创建变量并进行初始化,如下图所示。

3.语句执行

在TensorFlow的世界里,变量的定义和初始化是分开的,所有关于图变量的赋值和计算都要通过tf.Session的run来进行。

sess.run([G_solver, G_loss_temp, MSE_loss], feed_dict = {X: X_mb, M: M_mb, H: H_mb})

而在pytorch中,并不需要通过run进行,赋值完了直接计算即可。

4.tensor

pytorch运算时要创建完的numpy数组转为tensor,如下:

if use_gpu is 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.tensor(M_mb)H_mb = torch.tensor(H_mb)

最后运行完还要将tensor数据类型转换回numpy数组:

if use_gpu is True:imputed_data=imputed_data.cpu().detach().numpy()else:imputed_data=imputed_data.detach().numpy()

而tensorflow中不需要这种操作。

5.其他函数

在tensorflow中包含诸多函数是pytorch中没有的,但是都可以在其他库中找到类似,具体如下表所示。

tensorflow中函数pytorch中代替(所在库)参数区别
tf.sqrtnp.sqrt(numpy)完全相同
tf.random_normalnp.random.normal(numpy)tf.random_normal(shape = size, stddev = xavier_stddev)np.random.normal(size = size, scale = xavier_stddev)
tf.concattorch.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.sigmoidtorch.sigmoid(torch)完全相同
tf.matmultorch.matmul(torch)完全相同
tf.reduce_meantorch.mean(torch)完全相同
tf.logtorch.log(torch)完全相同
tf.zerosnp.zeros完全相同
tf.train.AdamOptimizertorch.optim.Adam(torch)optimizer_D = tf.train.AdamOptimizer().minimize(D_loss, var_list=theta_D)optimizer_D = torch.optim.Adam(params=theta_D)

到此这篇关于浅谈tensorflow与pytorch的相互转换的文章就介绍到这了,更多相关tensorflow与pytorch的相互转换内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!

标签: 完全相同 的相互转换 如下图所示

相关文章

最近更新
观焦点:超萌相机 2023-03-01 12:29:37
海南百货网 2023-03-01 12:13:44
焦点热讯:宜点充 2023-02-28 10:10:16
天天关注:小铺CEO 2023-02-28 10:07:13
【世界聚看点】KaFit 2023-02-28 09:31:37
葱天下 2023-02-28 09:17:03
渔界竞钓 2023-02-28 08:15:29
焦点快看:鲸奇视频 2023-02-28 06:30:37
环球热议:萝小逗 2023-02-27 23:25:49
简讯:小码公交 2023-02-27 23:16:12
彼岸花 2023-02-27 22:32:52
时时夺宝 2023-02-27 21:37:50
天天动态:袜之源 2023-02-27 21:29:50
天天资讯:AI空气 2023-02-27 20:19:46
世界时讯:绘读 2023-02-27 20:19:41
看点:一元得购 2023-02-27 19:26:28