当前位置: 首页 > news >正文

[pytorch]设备选择以及卷积神经网络的应用

0.写在前面:

首先这篇文章还没写完,因为今天要尝试对我之前的一个框架做一个简单的更新迭代,所以目前先更新这么多.

1.关于设备的选择

首先,目前的大多数电脑都是自带一些GPU(图形计算单元,在这里被称之为cuda), 需要安装相关的驱动才能正常使用这些设备和调用他们的具体情况.

nvidia-smi

 但是平时对于我们个人来说,我们的电脑基本无法承担上百万的数据调用,所以一般情况下,服务器是可以提供给我们这些东西.

如图所示是服务器上的GPU情况,可以看到服务器的开发者实现了一些其他的探测功能.

(1)单独设备的选取

首先注意一个情况,对于单一设备来说,我们称呼CPU为'cpu',称呼GPU为'gpu'

而在代码中,设备时被抽象为一个对象,我们可以通过torch包下的device来指定某个设备:

torch.device('cpu')
torch.device('cuda') # 默认找到地0个GPU
torch.device('cuda:1') # 可以指定第一个GPU# 以上三个函数会返回对应的一个设备连接对象

 以上三个函数用来创建设备链接对象没通过这些设备可以获得具体的对象

当然在拿不准的时候,可以直接查询GPU的数目

torch.cuda.device_count()

 

2.关于卷积神经网络的简单应用情况

如何构建神经网络,其实在上一篇博客中已经说到了,这里就简单介绍几个神经网络层构建函数

(1)卷积层

卷积层实现的效果其实就是一个简单的乘法加和,原理如图所示

import torch.nn as nnnn.Con2d( input_channels, kernet_num ,kernel_size=?, padding=0, stride=1)

 注意一下参数中的第二个参数是我个人的理解,其实按照正常的普遍理解,这个应该叫"输出通道数目".

(2)平均池化层

(注意,大池化层的特点之一,都是不会改变频道的数目,也就是只会修改输入的尺寸,而不会修改输入的通道数目!!!!这个的pool东西,默认只有一层通道,也就是一个2d的核)

另外两个池化层需要输入的参数只有核的大小,以及步长

import torch.nn as nnnn.AvgPool2D(kernel_size=? stride=1)

(3)最大池化层

import torch.nn as nnnn.MaxPool2D(kernel_size=? stride=1)

3.如何讲模型和设备移动到指定设备上

首先我们在大多数情况下创建的张量和模型,都是默认在cpu上面的\

arr.device    # cpu
net.device    # cuda/gpu

 而在进行模型计算的时候,需要首先将模型和张量移动到统一设备上,这样计算很省时间

虽然但是,torch对于跨设备的数据和模型,提供了一些奇奇怪怪的手段来完成一个自动传递,但是真到了在训练的时候,临时传输不可避免地会造成大量的开销

使用to函数建立新链接即可

cuda1=torch.device('cuda:1')
X = torch.tensor([0,1,2,3])
Y = X.to(cuda1)X.device # cpu
Y.device # cuda1

而对于模型来说也是一样的的移动方式,使用to函数来实现

# 顺便这里补充一个with语句
with语句用来创建一个上下文, 比如打开文件(这里要加上as)
或者说给模型设置为训练模式当with语句中的函数块执行结束以后,就可以讲with对应的操作做一个取消
with net.train():..........
当内部函数块执行结束以后,模型就会撤掉"转变为训练模式"这个操作

 

相关文章:

[pytorch]设备选择以及卷积神经网络的应用

0.写在前面: 首先这篇文章还没写完,因为今天要尝试对我之前的一个框架做一个简单的更新迭代,所以目前先更新这么多. 1.关于设备的选择 首先,目前的大多数电脑都是自带一些GPU(图形计算单元,在这里被称之为cuda), 需要安装相关的驱动才能正常使用这些设备和调用他们的具体情况…...

API SIX系列-服务搭建(一)

APIsix简介 APISIX是一个微服务API网关,具有高性能、可扩展性等优点。它基于nginx(openresty)、Lua、etcd实现功能,借鉴了Kong的思路。和传统的API网关相比,APISIX具有较高的性能和较低的资源消耗,并且具有…...

hadoop 大数据环境配置 同步时间 centos服务器时间同步 linux 安装ntp服务更新时间 hadoop(六)

1. 安装ntp软件 yum install -y ntp 2.创建软连接 # 删除之前得时间 sudo rm -rf /etc/localtime;# 更新时区sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime3. 更新时间 # root 权限运行 sudo ntpdate -u ntp.aliyun.com 4. 开机自启,更新时间 …...

基于单片机智能输液器监控系统的设计

**单片机设计介绍, 基于单片机智能输液器监控系统的设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的智能输液器监控系统可以实现对输液过程的实时监测和控制,以下是一个基本的设计介绍&am…...

Unity解决:没有UnityWebRequest.Result

当我在Unity 2019中使用Unity 2021的代码satable时。 控制台显示 “UnityWebRequest”不包含“result”的定义,并且找不到接受“UnityWebRequest”类型的第一个参数的可访问扩展方法“result”(是否缺少using指令或程序集引用?) 漏洞/问题: if (req.result == UnityWebRe…...

记录Linux的Bug

项目场景: 提示:这里简述项目相关背景: 例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大) 问题描述 提示:这里描述项目中遇到的问题&#xff1…...

优化改进YOLOv5算法之感受野注意力卷积运算(RFAConv),效果秒杀CBAM和CA等

目录 1 RFAConv原理 1.1 回顾标准卷积 1.2 回顾空间注意力 1.4 创新空间注意力与标准卷积...

【设计原则篇】聊聊里氏替换原则

是什么 子类对象可以替换程序中父类对象出现的任何地方,并且保证原有程序逻辑的正确性不被破坏。 比如我们在实际开发中定义了数据读取的父类,子类可以进行在此功能的拓展、增强但是不能修改原有的内在含义。 里氏替换原则和多态的区别,多态…...

k8s系列-kuboard创建工作负载 docker上传java微服务jar包到仓库的过程

文章目录 docker环境准备docker 镜像相关命令docker 容器相关命令容器和主机之间信息传递 内网中将jar包上传到docker仓库中 docker环境准备 1.查看环境中是否存在docker环境 docker version 2.不存在的话需要创建docker 镜像(image): dock…...

基于单片机的塑料厂房气体检测系统设计

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式 文章目录 概要 一、设计的主要内容二、系统硬件设计三、软件设计实物 四、结论五、 文章目录 概要 本文首先分析了基于单片机的可燃…...

HTTP-FLV详解及分析

文章目录 前言一、HTTP-FLV 简介1、市场上使用 http-flv 的商家2、http-flv、rtmp 和 hls 直播的优缺点3、http-flv 技术实现 二、Nginx 配置 http-flv1、Windows 安装 nginx,已经集成 nginx-http-flv-module2、nginx.conf 配置文件3、运行 nginx 服务器4、ffmpeg 推…...

docker应用实例及dockerfile

实际应用 神经网络项目由x86cpu的linux环境移到arm cpu架构上运行,使用docker进行测试以及环境配置。 docker load -i 镜像压缩文件.tar docker load -i命令用于从一个压缩的镜像存档文件(通常是以.tar扩展名结尾)中加载镜像到本地Docker引擎…...

【Qt之QWizard】使用1

QWizard使用 描述方法枚举:enum QWizard::WizardButton枚举:enum QWizard::WizardOption枚举:enum QWizard::WizardStyle枚举:enum QWizard::WizardPixmap常用成员方法槽函数信号 示例设置标题添加page页设置按钮文本设置自定义按…...

移植LVGL到单片机的一个demo简单介绍

简介 背景: 本文使用的是主控IC为stm32f103zet6, 显示IC为ST7735s,它是128*160的像素,色深为RGB565颜色。 官方虽然说LVGL移植平台只需 64kB 闪存和 8kB RAM 就足以满足简单的用户界面。但我移植到stm32f103c8t6,不管怎么修改配…...

rust_for_linux驱动完整版记录

文章目录 [清华开源操作系统训练营]《Rust fox Linux》课程的练习1-2完整版记录。1. 环境搭建2. 编译rust内核2.1 下载源代码2.2 安装rust支持2.3 检查linux内核是否支持rust2.4 编译linux内核 3. aarch64的qemu环境3.1.下载源代码3.2. 解压编译安装3.3. 配置环境变量3.4.验证 …...

Android拖放startDragAndDrop拖拽Glide灵活加载堆叠圆角图,Kotlin(6)

Android拖放startDragAndDrop拖拽Glide灵活加载堆叠圆角图,Kotlin(6) Android拖放startDragAndDrop拖拽Glide加载堆叠圆角图,Kotlin(5)-CSDN博客文章浏览阅读1.3k次。Android Dyna…...

计算机网络课后作业2023秋

计算机网络第三版吴功宜版 课后作业 第一章作业三、计算与问答3.73.8 第二章作业三、计算与问答3.23.53.6 第三章作业三、计算与问答3.13.53.73.8 第四章作业三、计算与问答3.13.2 第五章作业三、计算与问答3.13.33.4VLAN交换机模式模式切换重置交换机VLAN配置命令其…...

阿里云国际站:全球加速GA

文章目录 一、前言 二、阿里云全球加速的概念 三、阿里云全球加速的功能优势 四、阿里云全球加速的原理 五、阿里云全球加速的应用场景 六、写在最后 一、前言 随着互联网的快速发展,网站速度已经成为了用户访问体验的一个重要指标。阿里云加速作为一种新的技…...

M2LC-Net

模型结构 作者未提供代码...

Jenkins 质量扫描

代码质量扫描工具(SonarQube) 质量评审 SonarQube有四个关键组件 ◼ SonarQube Server运行有三个组件 ◆ Web Server:UI ◆ Search Server:为UI提供搜索功能,基于ElasticSearch ◆ Compute Engine Server&#xff1a…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制&#xff0…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...

基础测试工具使用经验

背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性&#xf…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...