16.神经网络的基本骨架-nn.Module的使用 一、网络的搭建1. 打开PyTorch官网框架定位: PyTorch是一个开源机器学习框架加速从研究原型到生产部署的路径关键特性:生产就绪分布式训练强大的生态系统云支持无缝切换eager和graph模式神经网络neural network2. torch.nn功能介绍名称来源: nn是Neural Network神经网络的缩写功能分类:容器(Containers): 定义神经网络骨架卷积层(Convolution Layers)池化层(Pooling Layers)非线性激活(Non-linear Activations)正则化层(Normalization Layers)1容器作用: 提供神经网络的基本构建块定义网络结构框架类比: 类似于玩具赛车的骨架可以在此基础上添加不同组件Module核心地位: 所有神经网络模块的基类必须继承: 自定义模型必须继承nn.Module类关键方法:init(): 初始化函数forward(): 定义前向传播计算如上例题:继承Module类定义网络前向传播forward: 输入x经过卷积和非线性激活处理后输出pycharm实现自定义神经网络打开PyCharm开发环境: 使用PyCharm进行PyTorch开发代码生成: 可通过Code→Generate→Override Methods 或者 Code →Override Methods 快速生成必要方法如下pycharm就会自动生成该方法的代码。自定义网络完整代码实现步骤:导入torch和nn模块定义继承nn.Module的类Tudui实现__init__和forward方法实例化网络tudui并进行前向传播(即调用实例调试技巧: 使用PyCharm的debug功能逐步查看网络执行流程我们执行上图代码可以看到控制台打印出来的结果正是将input参数1后的结果即执行了forward函数