深度学习笔记--卷积神经网络CNN搭建(一)
使用torch构建网络
刚开始接触深度学习,尝试自己按照别人的教程进行搭建网络,如果有错误的地方请大家指正,在最后会附上参考的资料和视频
一、torch与numpy
由于是基于pytorch进行网络搭建,首先来看一下torch与numpy之间的联系与区别。
import torch
import numpy as np
# 分别构造两个下面的数据
np_data = np.arange(6).reshape((2, 3))
torch_data = torch.from_numpy(np_data) # 将numpy中的数据转换为torch中的张量
tensor2array = torch_data.numpy() # 数据可以转换
print(
"\nnumpy", np_data,
"\ntorch", torch_data,
"\ntensor2array", tensor2array,
)
输出结果
numpy
[[0 1 2]
[3 4 5]]
torch
tensor([[0, 1, 2],
[3, 4, 5]], dtype=torch.int32)
tensor2array
[[0 1 2]
[3 4 5]]
在numpy中的基本数据为array,在torch中的基本数据为tensor,两者之间有区别,也有联系。
两种数据之间是可以相互转换的,而且基本运算功能也是相同的,比如计算绝对值,均值等等:
# abs
data = [-1, -2, 1, 2]
tensor = torch.FloatTensor(data) # 转换为32bit的浮点数
print(
'\nabs',
'\nnumpy', np.abs(data),
'\ntorch'