pytorch第一次

【Task1(2天)】PyTorch的基本概念

1.什么是Pytorch,为什么选择Pytroch?
2.Pytroch的安装
3.配置Python环境
4.准备Python管理器
5.通过命令行安装PyTorch
6.PyTorch基础概念
7.通用代码实现流程(实现一个深度学习的代码流程)

1.什么是Pytorch,为什么选择Pytroch?

PyTorch是一个基于Torch的Python开源机器学习库,用于自然语言处理等应用程序。 它主要由Facebook的人工智能研究小组开发。Uber的"Pyro"也是使用的这个库
PyTorch是一个Python包,提供两个高级功能:

具有强大的GPU加速的张量计算(如NumPy)
包含自动求导系统的的深度神经网络

2.3.4.5.Pytroch的安装

conda install pytorch torchvision cudatoolkit=10.0 -c pytorch

将anaconda的位置加入系统环境变量即可

6.PyTorch基础概念

PyTorch算是相当简洁优雅且高效快速的框架
设计追求最少的封装,尽量避免重复造轮子
算是所有的框架中面向对象设计的最优雅的一个,设计最符合人们的思维,它让用户尽可能地专注于实现自己的想法
大佬支持,与google的Tensorflow类似,FAIR的支持足以确保PyTorch获得持续的开发更新
不错的的文档(相比FB的其他项目,PyTorch的文档简直算是完善了,参考Thrift),PyTorch作者亲自维护的论坛 供用户交流和求教问题
入门简单

7.通用代码实现流程(实现一个深度学习的代码流程)


class CNNnet(torch.nn.Module):
    def __init__(self):
        super(CNNnet,self).__init__()
        self.conv1 = torch.nn.Sequential(
            torch.nn.Conv2d(in_channels=1,
                            out_channels=16,
                            kernel_size=3,
                            stride=2,
                            padding=1),
            torch.nn.BatchNorm2d(16),
            torch.nn.ReLU()
        )
        self.conv2 = torch.nn.Sequential(
            torch.nn.Conv2d(16,32,3,2,1),
            torch.nn.BatchNorm2d(32),
            torch.nn.ReLU()
        )
        self.conv3 = torch.nn.Sequential(
            torch.nn.Conv2d(32,64,3,2,1),
            torch.nn.BatchNorm2d(64),
            torch.nn.ReLU()
        )
        self.conv4 = torch.nn.Sequential(
            torch.nn.Conv2d(64,64,2,2,0),
            torch.nn.BatchNorm2d(64),
            torch.nn.ReLU()
        )
        self.mlp1 = torch.nn.Linear(2*2*64,100)
        self.mlp2 = torch.nn.Linear(100,10)
    def forward(self, x):
        x = self.conv1(x)
        x = self.conv2(x)
        x = self.conv3(x)
        x = self.conv4(x)
        x = self.mlp1(x.view(x.size(0),-1))
        x = self.mlp2(x)
        return x
model = CNNnet()
print(model)

你可能感兴趣的:(pytorch第一次)