前面几天,在微信读书上找了一些深度学习的书看,找了很久看到一本两个日本人写的一本书叫深度学习的数学,讲的很不错,粗略的看了一遍,初步了解了神经网络的模型,打算买一本他的实体书仔细读一遍,最近自己敲代码就少了,都在研究那本书了,下面的代码有什么函数的用法不明白的可以参考我之前的文章,自己写文章主要是为了自己有更深的理解,其次就是帮助别人
先附上今天自己实现的代码
import torch
from torch.nn import Module, Sequential
from torch.nn import Conv2d,Linear,MaxPool2d,Flatten
from torch.utils.tensorboard import SummaryWriter
class MySquential(Module):
def __init__(self):
super(MySquential, self).__init__()
#sequential类似于transformers中的compose,将所有的层整合在一起
self.sequential=Sequential(
Conv2d(3,32,5,padding=2),#这里的padding需要计算,去pytorch官网找到那个公式代入计算一下
MaxPool2d(2),
Conv2d(32,32,5,padding=2),
MaxPool2d(2),
Conv2d(32, 64, 5, padding=2),
MaxPool2d(2),
Flatten(),#将一个矩阵展平
Linear(1024,64),
Linear(64,10)
)
"""
先用5核卷积,再用2核池化,持续三次,将特征展平,线性化两次,得到十个结果
"""
def forward(self,input):
output=self.sequential(input)
return output
input=torch.ones(64,3,32,32)
sequential=MySquential()
destination=sequential(input)
writer=SummaryWriter("logs")
writer.add_graph(sequential,input)#输入参数是自己写的一个神经网络的类和输入类的数据,生成一个类似思维导图的东西
writer.close()
运行结果,控制台输入tensorboard --logdir=logs,打开链接