pytorch深度学习实践-cnn(代码片段)

wang-haoran wang-haoran     2022-12-05     712

关键词:

Convolutional Layer

技术图片

import torch
in_channels, out_channels = 5, 10
width, height = 100, 100 
kernel_size = 3 
batch_size = 1
input = torch.randn(batch_size, in_channels, width, height)
conv_layer = torch.nn.Conv2d(in_channels, 
                             out_channels, 
                             kernel_size=kernel_size)
output = conv_layer(input)
print(input.shape)
print(output.shape) 
print(conv_layer.weight.shape)

Padding

技术图片

import torch 
input = [3,4,6,5,7, 
         2,4,6,8,2, 
         1,6,7,8,4, 
         9,7,4,6,2, 
         3,7,5,4,1]
input = torch.Tensor(input).view(1, 1, 5, 5)
conv_layer = torch.nn.Conv2d(1, 1, kernel_size=3, padding=1, bias=False)
kernel = torch.Tensor([1,2,3,4,5,6,7,8,9]).view(1, 1, 3, 3)
conv_layer.weight.data = kernel.data
output = conv_layer(input) 
print(output)

Stride

conv_layer = torch.nn.Conv2d(1, 1, kernel_size=3, stride=2, bias=False)

Max Pooling Layer

import torch
input = [3,4,6,5, 
         2,4,6,8, 
         1,6,7,8, 
         9,7,4,6,]
input = torch.Tensor(input).view(1, 1, 4, 4) 
maxpooling_layer = torch.nn.MaxPool2d(kernel_size=2)
output = maxpooling_layer(input) 
print(output)

A Simple Convolutional Neural Network

技术图片

class Net(torch.nn.Module): 
    def __init__(self): 
        super(Net, self).__init__() 
        self.conv1 = torch.nn.Conv2d(1, 10, kernel_size=5) 
        self.conv2 = torch.nn.Conv2d(10, 20, kernel_size=5) 
        self.pooling = torch.nn.MaxPool2d(2) 
        self.fc = torch.nn.Linear(320, 10)
        
    def forward(self, x):  
        batch_size = x.size(0) 
        x = F.relu(self.pooling(self.conv1(x))) 
        x = F.relu(self.pooling(self.conv2(x))) 
        x = x.view(batch_size, -1)  
        x = self.fc(x) 
        return x
    
model = Net()
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
model.to(device) # Convert parameters and buffers of all modules to CUDA Tensor.
def train(epoch): 
    running_loss = 0.0 
    for batch_idx, data in enumerate(train_loader, 0): 
        inputs, target = data 
        inputs, target = inputs.to(device), target.to(device) # Send the inputs and targets at every step to the GPU.
        optimizer.zero_grad()
        outputs = model(inputs) 
        loss = criterion(outputs, target) 
        loss.backward() optimizer.step()
        running_loss += loss.item() 
        if batch_idx % 300 == 299: 
            print(‘[%d, %5d] loss: %.3f‘ % (epoch + 1, batch_idx + 1, running_loss / 2000)) 
            running_loss = 0.0
def test(): 
    correct = 0 
    total = 0 
    with torch.no_grad(): 
        for data in test_loader: 
            inputs, target = data 
            inputs, target = inputs.to(device), target.to(device) # Send the inputs and targets at every step to the GPU.
            outputs = model(inputs) 
            _, predicted = torch.max(outputs.data, dim=1) 
            total += target.size(0) 
            correct += (predicted == target).sum().item()
	print(‘Accuracy on test set: %d %% [%d/%d]‘ % (100 * correct / total, correct, total))

学习笔记:深度学习——基于pytorch的bert应用实践(代码片段)

学习时间:2022.04.26~2022.04.30文章目录7.基于PyTorch的BERT应用实践7.1工具选取7.2文本预处理7.3使用BERT模型7.3.1数据输入及应用预处理7.3.2提取词向量7.3.3网络建模7.3.4参数准备7.3.5模型训练7.基于PyTorch的BERT应用实践本节着重于将BER... 查看详情

pytorch深度学习实践入门01(代码片段)

文章目录基于PyTorch的两层神经网络一、基于numpy的两层神经网络实现:二、基于PyTorch的两层神经网络实现:三、使用nn库实现两层神经网络四、自定义nnModules实现两层神经网络总结基于PyTorch的两层神经网络提示:在... 查看详情

pytorch学习2b站刘二大人《pytorch深度学习实践》——梯度下降算法(gradientdescent)(代码片段)

b站课程链接:梯度下降算法一、梯度下降算法1.简介梯度下降算法是一种求解函数最优值的迭代算法,给定一个初值,通过负梯度方向进行更新查找。2.程序实现及结果importmatplotlib.pyplotasplt#训练集x_data=[1.0,2.0,3.0]y_... 查看详情

pytorch学习1b站刘二大人《pytorch深度学习实践》——线性模型(linearmodel)(代码片段)

b站课程链接:线性模型1.基本思想:给出了一组一维数据,定义了一个简单的线性拟合函数,通过穷举法来列出一些权重(拟合函数的系数),并计算这些权重对应的拟合损失函数(使用均方误差&#... 查看详情

pytorch深度学习实践_p9_多分类问题_pytorch手写实现数字辨识(代码片段)

pytorch手写实现数字辨识知识点补充view()在PyTorch中view函数作用为重构张量的维度,相当于numpy中的resize()的功能torch.nn.CrossEntropyLoss()求交叉熵,并且其中嵌套了log和softmax函数所以i神经网络最后一层不用再用softmax激活torch.m... 查看详情

深度学习实战——卷积神经网络/cnn实践(lenetresnet)(代码片段)

...嫖starforprojectsthanks)系列文章目录本系列博客重点在深度学习相关实践(有问题欢迎在评论区讨论指出,或直接私信联系我)。第一章  深度学习实战——不同方式的模型部署(CNN、Yolo)_如何部署cnn_@... 查看详情

三维几何学习从零开始网格上的深度学习-2:卷积网络cnn篇(pytorch)(代码片段)

本文参加新星计划人工智能(Pytorch)赛道:https://bbs.csdn.net/topics/613989052从零开始网格上的深度学习-2:卷积网络CNN篇引言一、概述1.1卷积操作简述1.2网格上的面卷积二、核心代码2.1面卷积2.2网络框架三、基于CNN的网格分类3.1分类... 查看详情

pytorch学习6《pytorch深度学习实践》——加载数据集(datasetanddataloader)(代码片段)

一、基础概念二、代码及讲解importtorchimportnumpyasnpfromtorch.utils.dataimportDatasetfromtorch.utils.dataimportDataLoader#preparedatasetclassDiabetesDataset(Dataset):def__init__(self,filepath):xy=np.loadtxt(filepath,delimiter=',',dtype=np.float32)#(759,9)最后一列... 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day1tensorflow和pytorch(代码片段)

深度学习与图神经网络-Tensorflow和Pytorch1.TensorFlow和Pytorch2.TensorFlow简介3.TensorFlow的API4.Pytorch简介5.Python安装6.TensorFlow安装7.Pytorch安装1.TensorFlow和Pytorch2.TensorFlow简介TensorFlow最初是由GoogleBrain团队(隶属于Goo 查看详情

(机器学习深度学习常用库框架|pytorch篇)第(待定)节:卷积神经网络cnn中一些经典网络结构写法(代码片段)

文章目录一:LeNet-5二:AlexNet三:VGG四:ResNet五:MobileNetV1六:InceptionNet一:LeNet-5LeNet-5:LeNet-5是一个较简单的卷积神经网络。下图显示了其结构:输入的二维图像,先经过两次卷积层到池化... 查看详情

大厂必考深度学习算法面试题总结(代码片段)

...池化输出大小计算三,深度学习框架的张量形状格式四,Pytorch、Keras的池化层函数理解五,Pytorch和Keras的卷积层函数理解六,softmax回归七,交叉熵损失函数八,感受野理解九,卷积和池化操作的作用十,卷积层与全连接层的区... 查看详情

《pytorch深度学习实践》介绍

...bsp;     本文为bilibili刘二大人所讲的《PyTorch深度学习实践》学习笔记介绍。       笔记融入了自己对课程和代码的理解,希望对大家有所帮助,由于本人知识尚浅,如果笔记中有任何... 查看详情

pytorch实现tpu版本cnn模型(代码片段)

...时间的问题,我们使用TPU运行时环境来加速训练。为此,PyTorch一直在通过提供最先进的硬件加速器 查看详情

pytorch学习3《pytorch深度学习实践》——反向传播(backpropagation)(代码片段)

...和其他张量之间的线性关系的多线性函数。       在PyTorch上有这样一句话,Atorch.Tensorisamulti-dimensionalmatrixcontainingelementsofasingledatatype.而在应用时,Tensor是一个神奇的东西,注意这里的类型是<class‘torch.Tensor’>... 查看详情

(pytorch复现)基于深度强化学习(cnn+duelingnetwork/dqn/ddqn/d3qn)的自适应车间调度(jsp)(代码片段)

...复现可见个人Github:Aihong-Sun/DQN-DDQN-Dueling_networ-D3QN-_for_JSP:pytorchimplementationofDQN/DDQN/Dueling_networ/D3QNforjobshopscheudlingproblem(github.com)1状态特征提取首先从特征提取开始,原文的状态特征为3个网格矩阵,如下:于是搭建CNN进... 查看详情

(pytorch复现)基于深度强化学习(cnn+duelingnetwork/dqn/ddqn/d3qn)的自适应车间调度(jsp)(代码片段)

...复现可见个人Github:Aihong-Sun/DQN-DDQN-Dueling_networ-D3QN-_for_JSP:pytorchimplementationofDQN/DDQN/Dueling_networ/D3QNforjobshopscheudlingproblem(github.com)1状态特征提取首先从特征提取开始,原文的状态特征为3个网格矩阵,如下:于是搭建CNN进... 查看详情

pytorch实现简单的分类器(代码片段)

作为目前越来越受欢迎的深度学习框架,pytorch基本上成了新人进入深度学习领域最常用的框架。相比于TensorFlow,pytorch更易学,更快上手,也可以更容易的实现自己想要的demo。今天的文章就从pytorch的基础开始,帮助大家实现成... 查看详情

pytorch学习2b站刘二大人《pytorch深度学习实践》——梯度下降算法(gradientdescent)(代码片段)

b站课程链接:梯度下降算法一、梯度下降算法1.简介梯度下降算法是一种求解函数最优值的迭代算法,给定一个初值,通过负梯度方向进行更新查找。2.程序实现及结果importmatplotlib.pyplotasplt#训练集x_data=[1.0,2.0,3.0]y_... 查看详情