IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> pytorch快速入门(十)cifar-10模型结构可视化 -> 正文阅读

[人工智能]pytorch快速入门(十)cifar-10模型结构可视化

pytorch快速入门(十)cifar-10模型结构可视化

前言

框架环境:pycharm;使用pytorch环境,请自行配置
可视化工具:tensorboard
有不懂的可翻阅pytorch快速入门之前的笔记

pycharm相关快捷键
ctrl+/ 注释
Ctrl+P 查看参数,如下,光标移动至想要查看的函数,然后按下快捷键
在这里插入图片描述

CIFAR-10 Model Structure

下图是cifar-10模型结构
在这里插入图片描述

代码

import torch
from torch import nn
from torch.nn import Conv2d, MaxPool2d, Flatten, Linear, Sequential
from torch.utils.tensorboard import SummaryWriter

#构建模型
class Classification_network(nn.Module):
    def __init__(self):
       super(Classification_network, self).__init__()
       #注1>>>>第一个卷积层,计算出stride=1,padding=2
       # self.conv1 = Conv2d(3,32,5,stride=1,padding=2) #in_channel=3,out_channel=32,kernel=5
       # #最大池化
       # self.maxpool1 = MaxPool2d(2)
       # # 第二个卷积层,计算方法同上stride=1,padding=2
       # self.conv2 = Conv2d(32,32,5,padding=2)#in_channel=32,out_channel=32,kernel=5
       # # 最大池化
       # self.maxpool2 = MaxPool2d(2)
       # # 第三个卷积层,计算方法同上stride=1,padding=2
       # self.conv3 =Conv2d(32,64,5,padding=2)#in_channel=32,out_channel=64,kernel=5
       # # 最大池化
       # self.maxpool3 = MaxPool2d(2)
       # #拉伸
       # self.flatten = Flatten()
       # #线性层
       # self.linear1 = Linear(1024,64)
       # self.linear2 = Linear(64, 10)

       #sequential可以替代前面备注掉的代码段
       self.model1 = Sequential(
           Conv2d(3, 32, 5, stride=1, padding=2),
           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)
           )

    def forward(self, x):
        # x = self.conv1(x)
        # x = self.maxpool1(x)
        # x = self.conv2(x)
        # x = self.maxpool2(x)
        # x = self.conv3(x)
        # x = self.maxpool3(x)
        # x = self.flatten(x)
        # x = self.linear1(x)
        # y = self.linear2(x)
        # return y
        #代替以上代码段
        y = self.model1(x)
        return y

task = Classification_network()
print(task)
input = torch.ones((64, 3, 32, 32))
output = task(input)
print(output.shape)

#tensorboard可视化
writer = SummaryWriter(log_dir="E:/PycharmProjects/runs/flower_experiment")
writer.add_graph(task, input)
writer.close()

代码解释

在这里插入图片描述

注1:
计算公式如下(在pytorch官方文档中可查)在这里插入图片描述
代入公式计算:
其中dilation取默认值1
在这里插入图片描述
在这里插入图片描述
自己推一推,就是枚举法试试。stride只能等于1,不然padding值太大,不合理。
解得padding=2,stride=1.

运行结果

右键–>run
在这里插入图片描述

tensorboard可视化

tensorboard详细教程tensorboard新手友好
在terminal中输入

tensorboard --logdir="E:/PycharmProjects/runs/flower_experiment"

回车后点击蓝色链接即可显示
在这里插入图片描述
网页显示结果

在这里插入图片描述
双击可查看内部结构
在这里插入图片描述
在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-01-08 14:00:00  更:2022-01-08 14:02:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 10:36:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码