【Python深度学习】深度学习框架搭建模版

简介: 首先是导入包因为使用的是pytorch框架所以倒入torch相关包,summary是可以获得自己搭建模型的参数、各层特征图大小、以及各层的参数所占内存的包作用效果如p2

一、框架搭建四部曲

1.导入包

首先是导入包因为使用的是pytorch框架所以倒入torch相关包,summary是可以获得自己搭建模型的参数、各层特征图大小、以及各层的参数所占内存的包作用效果如p2

安装方法:pip install torchsummary

'''
导入包
'''
import torch
import torch.nn as nn
import torch.nn.functional as F
from torchsummary import summary

2.定义类和函数

定义类Class以及def super,这些是类的继承最基础的知识啦如果不懂原理就按模版记下即可;接着开始搭建层,这里采用nn.Sequential,相当于一个大容器可以放入任意量的网络层p1中放入一个卷积层;接着进入线性层依然使用nn.Sequential;

class Net(nn.Module):
    def __init__(self, num_classes=10):
        super(Net, self).__init__()
        self.fetures = nn.Sequential(nn.Conv2d(in_channels=3, out_channels=64,
                                                kernel_size=3, stride=1, padding=1))
        self.classify = nn.Sequential(nn.Linear(32 * 32 * 64, 20),
                                      nn.Linear(20, num_classes))

3.定义网络层

定义好网络层就可以定义层之间的计算过程啦首先进入卷积层接着需要将卷积层的形状从四维变成二维,在这里使用了view函数,接着传入线性层得到return

def forward(self, x):
        x = self.fetures(x)
        x = x.view(x.size(0), -1)
        x = self.classify(x)
        return x

4.实例化网络

实例化网络;假设输入大小为(10, 3, 32,32),将输入传入网络就得到输出结果的尺寸啦!其中10代表每一次输入的图像张数;3是通道数3, 32, 32为输入图片的宽高。调用summary检查网络结构,此时只需输入(3, 32, 32)即可因为summary中只需输入通道数以及宽高即可。

Modle = Net()
input = torch.ones([10, 3, 32, 32])
result = Modle(input)
print(result.shape)
summary(Modle.to("cuda"), (3, 32, 32))

二、完整代码

完整代码如下,如果运行后出现错误可以在评论区里写下你的看法和建议:

'''
Aouther:LiuZhenming
Time:2022-09-25
'''
# 导入包
import torch
import torch.nn as nn
import torch.nn.functional as F
from torchsummary import summary
# 定义类和函数
class Net(nn.Module):
    def __init__(self, num_classes=10):
        super(Net, self).__init__()
        self.fetures = nn.Sequential(nn.Conv2d(in_channels=3, out_channels=64,
                                                kernel_size=3, stride=1, padding=1))
        self.classify = nn.Sequential(nn.Linear(32 * 32 * 64, 20),
                                      nn.Linear(20, num_classes))
    # 定义网络层
    def forward(self, x):
        x = self.fetures(x)
        x = x.view(x.size(0), -1)
        x = self.classify(x)
        return x
# 实例化网络
Modle = Net()
input = torch.ones([10, 3, 32, 32])
result = Modle(input)
print(result.shape)
summary(Modle.to("cuda"), (3, 32, 32))

三、运行结果

如 果 运 行 后 出 现 错 误 可 以 在 评 论 区 留 下 你 的 看 法 和 建 议 哦 ~

torch .Size([10,10])

–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Layer (type) Output Shape Param #

==============================================================

Conv2d-1 [-1,64,32,32] 1,792

Linear-3 [-1,10] 210

==============================================================

Total params: 1, 312, 742

Trainable params: 1, 312, 742

Non-trainable params: 0

–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Input size (MB) : 0.01

Forward/ backward pass size (MB) : 0.50


相关文章
|
13天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品加工优化的深度学习模型
使用Python实现智能食品加工优化的深度学习模型
113 59
|
8天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
8天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品市场预测的深度学习模型
使用Python实现智能食品市场预测的深度学习模型
46 5
|
2天前
|
机器学习/深度学习 数据采集 运维
使用 Python 实现深度学习模型:智能食品生产线优化
使用 Python 实现深度学习模型:智能食品生产线优化
37 13
|
8天前
|
机器学习/深度学习 数据采集 数据可视化
智能食品消费行为分析:基于Python与深度学习的实现
智能食品消费行为分析:基于Python与深度学习的实现
53 7
|
9天前
|
机器学习/深度学习 算法 数据可视化
使用Python实现深度学习模型:智能食品配送优化
使用Python实现深度学习模型:智能食品配送优化
27 2
|
8天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
36 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
8天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
29 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
8天前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
47 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
11天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品储存管理的深度学习模型
使用Python实现智能食品储存管理的深度学习模型
34 2
下一篇
无影云桌面