python琐事系列1:关于如何真正的在vscode用gpu跑代码

2023-05-16

笑死了,手动狗头
你们要的完整代码:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "args": ["-gpu"],
            "console": "integratedTerminal",
            "justMyCode": true
        }
    ]
}

前言:

我看到别人用os的这个代码去试着跑代码,我真的笑死…原理都不一样。

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "GPU设备号"

os.environ是干什么的:
官方文档(机翻):
os.environ
一个映射对象,其中键和值是表示流程环境的字符串。例如,是主目录的路径名(在某些平台上),等效于 C 中。environ['HOME']getenv("HOME")

此映射在首次导入 os 模块时捕获,通常在 Python 启动期间作为处理的一部分。在此时间之后对环境所做的更改不会反映在 中,但通过直接修改 os.environ 所做的更改除外。site.py

此映射可用于修改环境以及查询环境。当映射被修改时, 将被自动调用。

在Unix上,键和值使用sys.getfilesystemencoding()和错误处理程序。如果要使用其他编码,请使用环境。'surrogateescape'

人话:在python运行时临时使用一个操作系统的系统环境变量
图:在这里插入图片描述
其中,cuda相关:在这里插入图片描述
具体原理(逻辑):

1.os.environ调用代码中描述的环境变量,随后调用相关环境变量
2.环境变量中指定的指令和程序,软件被执行
3.与兼容的pipy库运行指令和代码(那些支持cuda的,如keras,tensorflow,torch)
4.将需要在cuda设备下运行的指令,代码,数据搬到cuda下用gpu跑

tips:你应该看出来了吧,写个print(list(变量))或者用matplotlib把整张图绘制出来(比如说你搞个人工智能分辨率修复,你把4000x8000的人物立绘整个x16倍),这些代码是不跑cuda的,那也就意味着不gpu,但是单单运行这些都比整个神经网络单次运行的计算量要大得多!

正文:

虽然python的自带库没有将整个代码塞进gpu跑的,但是python却自带了相关的参数
没错,就是python filepath -gpu
cmd和powershell都能用就差vscode了!
由于vscode的python内置了终端交互,所以多少有点方便,但是却不能直接通过终端赋予参数,只能用cmd或者powershell去运行python,这导致终端输出变成了相应的。
所以,说人话就是vscode通过launch.json达到了相应的功能。本是同根生,相煎何太急?

教程:

1.
运行,打开配置,然后就打开了launch.json

2.在

"program": "${file}",

下面插入

 "args": ["-gpu"],

3.保存,然后尽情的烧电脑吧!!记得架个平底锅煎蛋!!

缺点:

由于只是交由gpu运行,所以不能指定设备。而且默认是核显,主显卡几乎不运行,很怪。
由于只是运行程序,所以速度是一样的,没有加速功能。

优点:

主程序不占用cpu
由于python奇怪的gpu使用逻辑(哪怕你用keras和tensorflow也是一样),几乎不占用gpu
仍然可以使用vscode自带终端

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python琐事系列1:关于如何真正的在vscode用gpu跑代码 的相关文章

  • 《Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering》——2018 CVPR论文笔记

    这是一篇2018 年的 CVPR 的论文 xff0c 使用自下而上和自上而下相结合的注意力机制实现了image captioning和 VQA xff0c 作者使用这个注意力模型在image captioning上取得了非常好的效果 xff
  • Arduino Esp8266 UDP通信

    使用2个WeMos D1mini通过UDP通信实现传输字符串类 WeMos D1 Mini 基于Esp8266的开发板 用Arduino Ide 43 安卓线即可实现程序编译烧录 非常适合于物联网 通信等方面 UDP通信 UDP通信很近似于
  • ROS学习笔记#4 ros节点介绍&常见的rosnode命令

    ros节点 xff1a 是运行计算的过程 xff0c 所有的节点都包含在一张图中 xff08 rqt graph可以查看 xff09 xff0c 通过话题流 xff0c RPC服务和参数服务器彼此进行通信 xff0c 1个机器人控制系统包含
  • MFC CArray类的基本使用

    CArray 类 支持类似于 C 数组的数组 xff0c 但可以根据需要动态减小和增大 语法 template lt class TYPE class ARG TYPE 61 const TYPE amp gt class CArray p
  • 树莓派4B上手教程 2.SSH安装及相关设置

    SSH简介 SSH是一种网络协议 xff0c 用于计算机之间的加密登录 如果一个用户从本地计算机 xff0c 使用SSH协议登录另一台远程计算机 xff0c 我们就可以认为 xff0c 这种登录是安全的 xff0c 即使被中途截获 xff0
  • Ubuntu4B上手教程 3.5如何关闭虚拟桌面

    暑假马上要完事了 树莓派也跟着我要换网络环境 现在的树莓派 虽说插上电就能用 但是也得是同一局域网下 到学校wifi就换了 不知道怎么在ssh和vnc都用不了的情况下让树莓派连接新的WiFi 于是今天想着把虚拟桌面先关掉它 学校起码有显示器
  • 树莓派4B上手教程 4.ROS2不换源安装

    安装ROS对于大多数人来说是一个比较不好的回忆 再难受也得一步一步来啊 不多说了 分享一下我安装ROS2的一些经验 安装环境 我的安装环境是树莓派4B 烧的Ubuntu22 04LTS桌面版镜像 对应的ROS版本是ros2 humble 安
  • 苹果输入法自动合并两个短横线/减号的解决方法

    最近在学MD的时候学到了表格 xff0c 怎么打都打不出来 仔细一看发现在连着打两个横线的时候 xff0c 他合到了一起了 解决方法 设置 通用 键盘 智能标点 Off 问题解决
  • (一篇绝杀)考研英语二阅读题型与技巧总结

    目录 题型一 xff1a 词汇 短语 句子题 xff08 indicate xff09 题型二 xff1a 推断题 xff08 inferred implicit indicate xff09 题型三 xff1a 判断题 xff08 EXC
  • Cache 和 Buffer 都是缓存,主要区别是什么?

    提到这个问题 xff0c 可能意味着你意识到了两者的相关性 的确 xff0c 他们确实有那么一些联系 首先cache是缓存 xff0c buffer是缓冲 xff0c 虽然翻译有那么一个字的不同 xff0c 但这不是重点 个人认为他们最直观
  • C++课后练习

    题目需求 xff1a 编写一个程序 xff0c 它要求用户首先输入其名 xff0c 再输入其姓 然后程序使用一个逗号和空格组合起来 xff0c 并存储和显示组合结果 请使用char数组和头文件cstring 中的函数 xff0c 下面是该程
  • 像睿智一样简单地使用 Shiro

    加我微信索要我正在使用的 Apacher Shiro参考手册中文版学习 pdf 我们一起学习吧 Apache Shiro 中文文档 Apache Shiro 教程 Docs4dev Apache Shiro 是一个功能强大且易于使用的 Ja
  • Zookeeper 安装

    单机版 1 下载 tar gz 2 解压到 usr local zookeeper 下 3 在任何地方 xff08 我是在zookeeper bin 同级下 xff09 创建一个data文件夹 xff0c 用于存放运行时缓存数据 4 在 c
  • 【推荐系统算法之多任务学习】

    推荐系统算法之多任务学习 引言多任务学习设计思路ESMM模型实验 MMOE模型 引言 本文主要是在组队学习 xff0c pytorch复习推荐模型课程中 xff0c 学习课程笔记进行的总结 多任务学习 多任务学习是指模型在同一时间可以学习多
  • Idea快捷键

    1 进入 返回方法快捷键 Ctrl 43 B 进入光标所在方法定义的地方或返回该方法被使用的地方 xff08 代替Ctrl 43 鼠标点击方法进入方式 xff0c 避免了手指在键盘和鼠标之间切换 xff0c 非常好用的快捷键 xff09 C
  • ASP.NET C# 获取当前日期 时间 年 月 日 时 分 秒

    转贴 xff09 在 ASP net c 中 我们可以通过使用DataTime这个类来获取当前的时间 通过调用类中的各种方法我们可以获取不同的时间 xff1a 如 xff1a 日期 xff08 2008 09 04 xff09 时间 xff
  • ASP.NET中的几种弹出框提示基本方法

    NET程序的开发过程中 xff0c 常常需要和用户进行信息交互 xff0c 对话框的出现将解决了这些问题 xff0c 下面是本人对常用对话框使用的小结 xff0c 希望对大家有所帮助 我们在 NET程序的开发过程中 xff0c 常常需要和用
  • 单链表的就地逆置(头插,就地,递归)

    http blog csdn net lycnjupt article details 47103433 https blog csdn net v xchen v article details 53067448 单链表的就地逆置是指辅助
  • Panads(四):数据清洗——对缺失值的处理

    文章目录 一 处理缺失值的四个函数二 使用1 1 数据样子1 2 处理 一 处理缺失值的四个函数 isnull函数 xff1a 检测是否是空值 xff0c 可用于df和series notnull函数 xff1a 检测是否是空值 xff0c
  • 单片机数字钟(调时,调时闪烁,万年历,年月日)超详细解析

    2019 07 13 单片机数字钟 xff08 调时 xff0c 调时闪烁 xff0c 万年历 xff0c 年月日 xff09 超详细解析 发表日期 xff1a 2019 07 13 单片机开发板 xff1a 巫妖王2 0 xff0c 使用

随机推荐

  • MATLAB轨迹规划 发给ROS中机器人实现仿真运动

    MATLAB轨迹规划 发给ROS中机器人实现仿真运动 现象如图所示 xff1a 0 matlab 与 ROS 通信 xff1a https blog csdn net qq 40569926 article details 11216287
  • 树莓派 Ubuntu mate 16.04使用VNC开启远程桌面

    1 安装 vncserver sudo apt span class token operator span get span class token operator span y install vnc4server 2 启动 vncs
  • js for in 循环出现bug

    这样使用for in循环时可能会有一种bug for let item in list 原因 xff1a for in循环会把某个类型的原型 prototype 中方法与属性给遍历出来 xff0c 所以这可能会导致代码中出现意外的错误 解决
  • 面试官:Spring中用了哪些设计模式?

    spring中常用的设计模式达到九种 xff0c 我们举例说明 以后再也不怕面试官问我 xff1a Spring中用了哪些设计模式了 1 简单工厂模式 又叫做静态工厂方法 xff08 StaticFactory Method xff09 模
  • 论文笔记 | Learning Deep Features for Discriminative Localization

    作者 Bolei Zhou Aditya Khosla Agata Lapedriza Aude Oliva Antonio Torralba Bolei Zhou Abstract 受到NIN 的启发 xff0c 将global aver
  • stm32 编码器配置

    stm32f103 void TIM4 Encoder Config void GPIO InitTypeDef GPIO InitStructure span class hljs comment span TIM TimeBaseIni
  • 树莓派部署(三):安装teamviewer远程软件

    安装teamviewer远程软件 下载Teamviewer安装因受网络原因影响 xff0c 国外源安装依赖失败则需要切换源一 修改文件二 安装依赖三 安装Teamviewer三 启动Teamviewer 不用命令行启动可忽略 下载Teamv
  • 【数字图像处理】MATLAB实现直方图均衡化

    直方图均衡化的MATLAB实现 目录 1 回顾 直方图均衡化2 代码实现 1 回顾 直方图均衡化 基本原理 直方图均衡化方法的基本思想是 xff1a 对在图像中像素个数多的灰度级进行展宽 xff0c 而对像素个数少的灰度级进行缩减 xff0
  • 【NCC】之一:从Pearson相关系数到模板匹配的NCC方法

    文章目录 lt center gt NCC Normalized Cross Correlation 1 Pearson相关系数 2 协方差 covariance 3 方差 variance 4 模板匹配中的NCC方法5 实现过程6 测试结
  • ST-Link使用和配置总结

    xff08 1 xff09 ST Link实物参考图 xff08 2 xff09 ST Link 引脚介绍和接线方式 ST Link SWD引脚连接方式 参考链接1 xff1a https blog csdn net xinghuanmei
  • CentOS安装CMake

    文章目录 1 问题背景2 前言3 步骤 1 问题背景 最近想玩玩CLion远程调试JDK源码 xff0c 需要用到CMake xff0c 因此来安装 2 前言 需要先看CLion支持哪个版本的CMake xff0c 再下载对应的版本 本文采
  • 跟丛博,学习CMMI2.0

    CMMI2 0 xff0c 三天的学习非常高强度 xff0c 学习了两门课 xff1a 2天的Foundations of Capability和1天的Building Development Excellence 内容多 xff0c 讲义
  • strtok的实现与原理

    该函数包含在 34 string h 34 头文件中 函数原型 xff1a char strtok char str constchar delimiters 函数功能 xff1a 切割字符串 xff0c 将str切分成一个个子串 函数参数
  • Java入门小知识(++a和a++的区别)

    关于java中 43 43 a和a 43 43 的区别 与C语言中的一致 43 43 a xff1a 先进行自增运算 xff0c 在进行表达式运算 a 43 43 xff1a 先进行表达式运算 xff0c 在进行自增运算 下面用一个实例来加
  • Linux VNC搭建方法

    首先介绍下VNC xff0c VNC是类似于向日葵的远程桌面控制工具 xff0c 非常好用 本文详细介绍了VNC的搭建方法与使用教程 yum安装指令 yum install y tigervnc server 复制服务文件放到配置文件夹下
  • (Linux)Ubuntu查看系统版本

    uname a 查看操作系统的发行版号和操作系统版本 Command uname a Result Linux SERVER 5 19 0 35 generic 36 Ubuntu SMP PREEMPT DYNAMIC Fri Feb 3
  • aes-128 速度测试

    官方白皮书 xff1a Intel Advanced Encryption Standard AES New Instructions Set pdf https software intel com zh cn articles inte
  • 【Feature Denosing】Feature Denoising for Improving Adversarial Robustness

    摘要 对图像分类系统的对抗攻击 xff0c 给卷积网络带去挑战的同时 xff0c 也提供了一个理解他们的机会 对抗扰动使得网络提取的特征包含噪声 受这个观察启发 xff0c 我们执行feature denoising 具体来说 xff0c
  • Tomcat8.5配置https启动报空指针错误

    Tomcat8 5配置https启动报空指针错误 报错信息tomcat SSL配置Tomcat8 5 8及以上而外配置 SSL别名获取 报错信息 报错代码 span class token number 02 span span class
  • python琐事系列1:关于如何真正的在vscode用gpu跑代码

    你们要的完整代码 xff1a span class token punctuation span span class token comment 使用 IntelliSense 了解相关属性 span span class token c