PyTorch环境配置

本文档用于记录PyTorch环境配置过程中的要点。

安装Miniconda

  • 下载Miniconda安装包:Miniconda3-latest-Linux-x86_64.sh
  • 修改安装包的文件权限属性,使得Miniconda安装包能够执行:chmod u+x Miniconda3-latest-Linux-x86_64.sh
  • 安装Miniconda: sh ./Miniconda3-latest-Linux-x86_64.sh

安装PyTorch

  • 通过Miniconda创建一个新的环境:conda create --name torch Python
  • 激活环境:conda activate torch
  • 查看CUDA版本:nvcc --version
  • 根据CUDA版本安装相应的PyTorch库:conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
  • 验证PyTorch是否安装成功:
    import torch
    x = torch.rand(5, 3)
    print(x) torch.cuda.is_available()

配置远程开发工具

本节用于记录配置VSCode远程编程与调试的插件Remote - SSH的过程。

  • 通过ssh-keygen命令在本地生成用于ssh公钥认证的公钥和私钥文件:ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
  • 通过ssh-copy-id命令把公钥追加到远程机器的authorized_keys文件末尾: ssh-copy-id hello-kitty@192.168.***.***
  • 安装插件Remote - SSH
  • 配置插件:
    # C:\Users\****\.ssh\config
    Host ****@192.168.***.***
    HostName 192.168.***.***
    User ****

    这里需要注意配置项Host需要按照"用户@IP地址"的格式进行设定,否则远程连接时会出现“过程试图写入的管道不存在”的异常状况

基于CUDA的张量

  • 查看可用的GPU的数量:torch.cuda.device_count()
  • 定义CUDA device object,存在三种略有不同的方式:
    # 第一种方式
    device = torch.device('cuda:1') # 第二种方式,参数"1"表示显卡的下标(第二块显卡)
    torch.cuda.set_device(1)
    device = torch.device('cuda') # 第三种方式
    device = torch.device('cuda', 1)
  • 定义张量:x = torch.randn(5, 3, device=device)

导入警告问题

用VSCode编写Python代码,在导入语句import torch下方会出现黄色波浪线,提示未解决的导入“unresolved import 'torc'”。异常情况是由Microsoft Python Analysis Engine引发的,通过设置Jedi作为IntelliSense引擎,可以解决这一问题:

  • Ctrl + Shift + P,打开VSCode命令面板
  • 输入“Configure Language Specific Settings”,选择语言“Python”
  • 在打开的配置文件(settings.json)中找到配置项“python.jediEnabled”
  • 设定配置项"python.jediEnabled": true,,保存并重新加载VSCode

参考资料

  1. VScode Remote远程开发与调试
  2. Linux和Windows查看CUDA和cuDNN版本
  3. Linux chmod命令
  4. Start Locally | PyTorch
  5. vscode unresolved import warning

PyTorch环境配置的更多相关文章

  1. PyTorch环境配置及安装

    环境配置 温馨提示:为了更好的教程体验,提供视频.阅读地址 Youtube: https://www.youtube.com/playlist?list=PLgAyVnrNJ96CqYdjZ8v9Yj ...

  2. 计算机视觉2-> 深度学习 | anaconda+cuda+pytorch环境配置

    00 想说的 深度学习的环境我配置了两个阶段,暑假的时候在一个主攻视觉的实验室干活,闲暇时候就顺手想给自己的Ubuntu1804配置一个深度学习的环境.这会儿配到了anaconda+pytorch+c ...

  3. PyTorch深度学习入门笔记(一)PyTorch环境配置及安装

    @ 目录 一.工具安装 1.1 Anaconda 安装 1.2 Pytorch安装 二.编辑器安装 2.1 Pycharm安装 2.2 Jupyter安装 OS: ubuntu 20.04(虚拟机) ...

  4. pytorch 环境配置

    一.下载Anaconda 二.添加清华镜像 # 添加清华镜像 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anac ...

  5. lightweight openpose 入门实操笔记(pytorch环境)

    最近有个小项目要搞姿态识别,简单调研了一下2D的识别: 基本上是下面几种 (单人)single person 直接关键点回归 heatmap,感觉其实就是把一个点的标签弄成一个高斯分布 (多人)mul ...

  6. 超算云(GPU服务器)环境配置

    最近在用并行超算云GPU服务器(中国国家网格12区)搭建毕设的环境,这里记录一下. 首先,超算云服务器的登录可以采用网页版.也可以采用客户端(超算云地址:https://cloud.paratera. ...

  7. 【深度学习】PyTorch CUDA环境配置及安装

    Pytorch版本介绍 torch:1.6 CUDA:10.2 cuDNN:8.1.0 安装 NVIDIA 显卡驱动程序 一般 电脑出厂/装完系统 会自动安装显卡驱动 如果有 可直接进行下一步 下载链 ...

  8. 手把手教会你远程Linux虚拟机连接以及配置pytorch环境。

    出一期用于连接远程Ubuntu系统并配置pytorch环境的教学.2021-07-07 13:35:57- 现在的矿难导致显卡大幅度的涨价对很多要做深度学习领域的小伙伴们非常的不友好,配置设备固然要掏 ...

  9. Pytorch及Yolov5环境配置及踩坑

    Pytorch及Yolov5环境配置及踩坑 1.何为Yolov5 yolo是计算机视觉方面用来进行目标检测的一个十分出名的开源框架,我搜不到官方的对此概括性的定义,但实际上也没什么必要,更重要的是会使 ...

随机推荐

  1. 安装backbox和win7双系统记录

    安装backbox和win7双系统记录 描述 主机已先安装win7,通过ultralISO制作启动盘安装backbox 错误一: error paring from pcc... 这个错误是我在从U盘 ...

  2. session 会话机制以及变量覆盖

    session会话机制介绍如下 http是无状态协议.服务器靠cookie和session来记住用户.$_SESSION 和 $_GET等一样,是超全局变量. 后台脚本里面会写: session() ...

  3. FusionCube 9000 虚拟化之数据库场景(虚拟化超融合基础设施)

    1.本场景为fusioncube9000虚拟化场景,带两台dbn节点. 配置清单: 1台cna节点 2台dbn节点,部署数据库操作系统,一般安装oracle数据双机. 2台mcna节点,作为管理节点, ...

  4. 《手把手教你》系列基础篇(八十三)-java+ selenium自动化测试-框架设计基础-TestNG测试报告-下篇(详解教程)

    1.简介 其实前边好像简单的提到过测试报告,宏哥觉得这部分比较重要,就着重讲解和介绍一下.报告是任何测试执行中最重要的部分,因为它可以帮助用户了解测试执行的结果.失败点和失败原因.另一方面,日志记录对 ...

  5. java动态代理--代理接口无实现类

    转载:https://blog.csdn.net/weixin_45674354/article/details/103246715 1.接口定义: package cn.proxy; public ...

  6. Mybatis 是如何进行分页的?分页插件的原理是什么?

    Mybatis 使用 RowBounds 对象进行分页,它是针对 ResultSet 结果集执行的内 存分页,而非物理分页.可以在 sql 内直接书写带有物理分页的参数来完成物理分 页功能,也可以使用 ...

  7. 什么是 ThreadLocal 变量?

    ThreadLocal 是 Java 里一种特殊的变量.每个线程都有一个 ThreadLocal 就是每 个线程都拥有了自己独立的一个变量,竞争条件被彻底消除了.它是为创建代价 高昂的对象获取线程安全 ...

  8. 什么是 CAS?

    CAS 是 compare and swap 的缩写,即我们所说的比较交换. cas 是一种基于锁的操作,而且是乐观锁.在 java 中锁分为乐观锁和悲观锁.悲观锁是将资源锁住,等一个之前获得锁的线程 ...

  9. java-方法引用

    /** * 方法引用格式: * 双冒号:: 引用运算符,它所在的表达式被称为方法引用.如果Lambda表达式 * 的函数方案已经存在于某个地方的实现中, * ===>那么可以通过双冒号来引用改方 ...

  10. linux发布常用命令

    一.linux发布常用命令 //启动Tomcat sh /opt/apache-tomcat-8.5.29/bin/startup.sh //停止tomcat sh /opt/apache-tomca ...