跟着小土堆学习pytorch(六)——神经网络的基本骨架(nn.model)

文章目录

一、model介绍

复制代码
容器                                          Containers
卷积层                                        Convolution Layers
池化层                                        Pooling layers
填白层                                        Padding Layers
非线性激活(加权和,非线性)                  Non-linear Activations (weighted sum, nonlinearity)
非线性激活(其他)                            Non-linear Activations (other)
正则化层                                      Normalization Layers
复发性层                                      Recurrent Layers
变压器层                                      Transformer Layers
线性层                                        Linear Layers
辍学层                                        Dropout Layers
稀疏层                                        Sparse Layers
距离函数                                      Distance Functions
损失函数                                      Loss Functions
视觉层                                        Vision Layers
洗牌层(打乱)                                Shuffle Layers
数据并行层                                    DataParallel Layers (multi-GPU, distributed)
量化的功能                                    Quantized Functions
惰性模块初始化                                Lazy Modules Initialization

以后一一介绍

二、Module

python 复制代码
class Model(nn.Module):
    def __init__(self) -> None:
        super().__init__()
        self.conv1 = nn.Conv2d(1, 20, 5)
        self.conv2 = nn.Conv2d(20, 20, 5)

    def forward(self, x):
        x = F.relu(self.conv1(x))
        return F.relu(self.conv2(x))

定义自己的类(神经网络),自己继承了Module的父类,但是有想进行修改,则定义了__init__和forward ,

之后就是调用父类的初始化函数。forward(前向传播),backward(反向传播)。

x魏输入,F.relu(self.conv1(x)),先经过一次卷积conv1,之后经过一次非线性relu

由于返回时return F.relu(self.conv2(x))所有总共两组。

示例

python 复制代码
import torch
from torch import nn
class Tudui(nn.Module):
	def __init__(self):
		super().__init__()
	def forward(self,input):
		output = input + 1
		return output
tudui = Tudui()
x = torch.tensor(1.0)
output = tudui(x)
print(output)

三、张量

3.1 定义

数学中

标量:单独的数

向量:一行或一列数组

矩阵:二维数组

张量:维度超过2的数组

PyTorch中

张量(Tensor)是一种数据结构,可以是一个标量、一个向量、一个矩阵,甚至是更高维度的数组。

所以PyTorch中的张量(Tensor)和Numpy中的**数组(ndarray)**非常相似。

3.2 用法

一、张量的数据类型、默认类型、类型转换。

二、张量的生成:torch.tensor()、torch.Tensor()、张量和NumPy数据互相转换、随机数生成张量、函数生成等。

三、张量操作:改变张量的形状、获取张量中的元素、拼接和拆分等。

四、张量计算:比较大小、基本运算、统计相关计算等。

文章链接:【PyTorch】张量超详细介绍(数据类型、生成、操作、计算)

相关推荐
星幻元宇VR9 小时前
VR流动行走平台|让虚拟体验真正“走起来”
科技·学习·安全·vr·虚拟现实
赵侃侃爱分享9 小时前
学习网络安全后首先应该做这些工作
学习·安全·web安全
像一只黄油飞9 小时前
第二章-02-注释
笔记·python·学习·零基础
xiebingsuccess10 小时前
ThingsPanel IoT Platform 学习笔记
笔记·学习
网创联盟,知识导航10 小时前
沐雨云香港直连500M大带宽云主机深度测评
经验分享·学习·测试工具
秋910 小时前
学霸圈公认的 10 种高效学习习惯:从低效到顶尖的底层逻辑
人工智能·学习·算法
机器学习之心10 小时前
电池SOH估计和RUL预测 | 基于LSTM神经网络的锂电池健康状态估计和剩余寿命预测,MATLAB代码
神经网络·lstm神经网络·锂电池健康状态估计·电池soh估计·rul预测·剩余寿命预测
墨澜逸客10 小时前
华胥祭坛志---文/墨澜逸客
开发语言·深度学习·学习·百度·php·学习方法·新浪微博
cwplh11 小时前
平衡树学习笔记
数据结构·笔记·学习·算法
爱写代码的小朋友11 小时前
生成式人工智能(AIGC)在中小学生探究式学习中的应用边界与伦理思考
人工智能·学习·aigc