PyTorch相比TensorFlow,其最大的优点是建立的神经网络是动态的,相比静态的TensorFlow,它能更加有效地去处理一些问题,比如RNN变化时间长度的输出,TensorFlow相比PyTorch的有点在于分布式训练上。
在神经网络中Torch可以替换Numpy。
首先,Tensor和Numpy之间的转换,示例代码如下所示:
import torch
import numpy as np
np_data = np.arange(6).reshape((2, 3))
torch_data = torch.from_numpy(np_data)
tensor2array = torch_data.numpy()
print(
'\nnumpy', np_data,
'\ntorch', torch_data,
'\ntensor2array', tensor2array
)
运行结果:
numpy [[0 1 2]
[3 4 5]]
torch
0 1 2
3 4 5
[torch.IntTens