Pytorch使用笔记

记录&总结一下自己写model时需要用到的函数。官方文档
pytorch-lightning
torchvision

nn.Module

CNN

torch.nn.Conv1d

torch.nn.Conv1d(in_channels, #int 输入信号的通道
				out_channels, # int 卷积产生的通道
				kernel_size, # int/tuple 卷积核的尺寸
				stride=1, #int/tuple, opt卷积步长
				padding=0, #int/tuple, opt 输入的每一条边补充0的层数
				dilation=1, #int/tuple, opt 卷积核元素之间的间距
				groups=1, #int, opt 从输入通道到输出通道的阻塞连接数
				bias=True # bool, opt 如果bias=True,添加偏置)

shape
输入: ( N , C i n , L i n ) (N,C_{in},L_{in}) (N,Cin,Lin)
weight: ( C o u t , C i n , k _ s ) (C_{out}, C_{in}, k\_s) (Cout,Cin,k_s) Cout个卷积核并行运算
输出: ( N , C o u t , L o u t ) (N,C_{out},L_{out}) (N,Cout,Lout)
L o u t = [ L i n + 2 p − d ( k _ s − 1 ) − 1 ] / s + 1 L_{out}=[L_{in}+2p-d(k\_s-1)-1]/s+1 Lout=[Lin+2pd(k_s1)1]/s+1
con1d的输入输出的计算方式
Example

# [1,5,7] 卷积核[2,5,3] = [1, 3, 6]
a = torch.ones(1,5,7)
b = nn.Conv1d(in_channels=5, out_channels=3, kernel_size=2)(a)
print(b.size()) #torch.Size([1, 3, 6])

在这里插入图片描述

torch.nn.Conv2d

torch.nn.Conv2d(in_channels, 
				out_channels, 
				kernel_size, 
				stride=1, 
				padding=0, 
				dilation=1, 
				groups=1, 
				bias=True)

参数kernel_sizestride,paddingdilation

  1. 可以是一个int的数据,此时卷积height和width值相同;
  2. 可以是一个tuple数组,tuple的第一维度表示height的数值,tuple的第二维度表示width的数值

shape
输入: ( N , C i n , H i n , W i n ) (N, C_{in}, H_{in}, W_{in}) (N,Cin,Hin,Win)
weight: ( C o u t , C i n , k _ s ) (C_{out}, C_{in}, k\_s) (Cout,C

### PyTorch 学习笔记教程 #### 张量 Tensor 的基本操作 PyTorch 是一个基于 Python 的科学计算包,能够替代 Numpy 并充分利用 GPU 的强大性能[^1]。张量 (Tensor) 是 PyTorch 中最基本的数据结构之一。 下面展示了一个简单的例子来创建并调整张量形状: ```python import torch input_tensor = torch.tensor([[1, -0.5], [-1, 3]]) reshaped_input = torch.reshape(input_tensor, (-1, 1, 2, 2)) print(reshaped_input.shape) ``` 这段代码首先定义了一个二维张量 `input_tensor` ,接着通过调用 `reshape()` 方法将其转换成四维张量,并打印其新的尺寸大小。 #### 使用神经网络模块构建模型 为了实现更复杂的机器学习算法,通常会使用预定义好的层来进行快速开发。这里介绍如何利用内置函数轻松搭建自己的神经网络架构: ```python from torch import nn class SimpleModel(nn.Module): def __init__(self): super(SimpleModel, self).__init__() self.relu_layer = nn.ReLU() def forward(self, x): return self.relu_layer(x) model_instance = SimpleModel() output_result = model_instance(reshaped_input) print(output_result) ``` 上述代码片段展示了怎样继承自 `nn.Module` 类来自定义一个新的类 `SimpleModel` 。该类内部包含了激活函数 ReLU 层作为成员变量,在前向传播过程中可以直接应用此层处理输入数据。 #### 验证安装版本号 当完成环境配置之后,可以通过如下方式验证当前使用PyTorch 版本是否正确无误: ```python import torch print(torch.__version__) ``` 这行命令将会输出已成功加载到项目中的 PyTorch 库的具体版本信息[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值