pycharm+pytorch+gpu开发环境搭建

一、安装anacoda

1、下载Anaconda安装包

官网下载地址

https://www.anaconda.com/distribution/

清华镜像

Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

下载python3.8对应的版本Anaconda3-2021.04-Windows-x86_64.exe

下载完成后,双击运行安装包,进行安装。

二、PyCharm

1、pycharm下载。

下载Community社区版直接免费使用,无需破解。

访问官网 https://www.jetbrains.com/pycharm/download/#section=windows 下载Community安装包。

下载完成后,双击运行安装包,进行安装。

2、Python下载安装

1)访问官网,选择 Downloads ,选择 Windows ,点 Python 3.8.8 ,下载Python

https://www.python.org/ftp/python/3.8.8/python-3.8.8-amd64.exe

2)下载完成后,双击安装

3、Pycharm简单使用

3.1)双击pycharm,打开pycharm软件。

3.2) New Project ,新建一个项目

3.3)选择项目路径,选择Python环境,点 Create

3.4)提供了一个测试项目,右键 Run ‘main’ ,运行

3.5)输出下面这个,表示正常。

4、模块安装。

前期使用PyCharm,经常会遇到 No module named “xxx” 的报错,这是因为Python默认没有你使用的模块,需要手动导入。

4.1) pip安装模块

cmd 下,执行 pip install xxx,xxx 替换成完整模块名。

指定阿里云的镜像并添加信任站点安装某个模块。

pip3 install xxx -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

pip list 查看已经安装的模块

4.2)PyCharm安装模块

1)左上角 - 【File】-【Setting…】

2)【Project:pythonProject】-【Python Interpreter】- 右侧可以看到已安装的模块,点上角的加号

3)打开的窗口中,搜索模块,点【Install Package】下载即可。

三、显卡驱动与CUDA、cuDNN、TensorRT 三件套安装

1、驱动安装

根据显卡和操作系统,进入官网(https://www.nvidia.cn/drivers/lookup/)下载对应的驱动。

下载对应的驱动,安装驱动。

2、CUDA安装

不建议直接安装最高版本的CUDA,因为如果后续使用PyTorch,大概率不兼容
下载适合自己显卡的CUDA版本,比如我的显卡版本是10.0,可以下载10.0的CUDA,下载网址:https://developer.nvidia.com/cuda-toolkit-archive。国外网址,有时会出现进不去的情况,可以尝试国内版:https://developer.nvidia.cn/cuda-toolkit-archive。安装完成后,输入nvcc –V,会有如下提示,显示安装成功。

3、cudnn安装

cuDNN是基于CUDA的深度学习GPU加速库。想要在CUDA上运行深度神经网络,就要安装cuDNN,这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。

3.1)官网下载cuDNN的安装包,地址:https://developer.nvidia.com/cudnn,这里需要注册等录一下之后再下载,也可以在网上找到别人已经下载好的资源。这里注意要选择和CUDA对应的cuDNN安装包。

3.2)解压下载好的安装包,这里我下载的是:cudnn-windows-x86_64-8.3.3.40_cuda10.2-archive.zip,解压后,安装包里包含三个文件夹。

3.3)将三个文件里的文件,全部复制到cuda安装目录下的同名文件夹中,即可完成安装。

4、TensorRT安装

https://developer.nvidia.com/tensorrt-download

下载相应版本的安装包,这里以7.2.3.4为例。
下载完成后,将解压缩包中的文件复制到D:\TensorRT-7.2.3.4目录下。

将D:\TensorRT-7.2.3.4\bin添加到系统的PATH环境变量。

5、TensorRT依赖Zlib

1、直接下载zlibwapi.dll,下载地址:www.winimage.com/zLibDII/或者百度云盘(链接:https://pan.baidu.com/s/1oLVRk6XL40iNIqRzKEkLyQ?pwd=1111)

下载完成后,将解压缩包中的zlibwapi.dll文件复制到D:\TensorRT-7.2.3.4\bin目录下,zlibwapi.lib文件复制到D:\TensorRT-7.2.3.4\lib目录下。

2、从zlib Home Site下载代码,编译并生成。

用vs2015命令提示执行..\zlib-1.2.13\contrib\masmx86\bld_ml32.bat,生成inffas32.lst、inffas32.obj、match686.lst、match686.obj四个文件

用vs打开 ..\zlib-1.2.13\contrib\vstudio\vc14\zlibvc.sln,,预处理器中加入ZLIB_WINAPI、ASMV、ASMINF,,编译生成zlibwapi.dll、zlibwapi.lib、zlibstat.lib

将编译生成的zlibwapi.dll文件复制到D:\TensorRT-7.2.3.4\bin目录下,zlibwapi.lib文件复制到D:\TensorRT-7.2.3.4\lib目录下。

四、pytorch

1、创建虚拟环境

//创建虚拟环境,python版本为3.8,可以根据需求来指定

conda create --name myPytorchGpu python=3.8

其他conda命令:

//查看所有虚拟环境
conda env list//删除虚拟环境
conda remove --name myPytorchGpu --all//激活环境
conda activate myPytorchGpu//不激活当前环境
conda deactivateconda设置镜像源:conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --set show_channel_urls yes查看设置镜像源:conda config --show删除镜像源:conda config --remove-key channels设置远程下载超时时间:conda config --set remote_read_timeout_secs 600.0conda环境的所用工具包:conda list

2、安装pytorch

进入pytorch官网,选择想要安装的版本,可以点击之前版本pytorch选择安装历史版本

3、cuda版本不同,对应的torch版本不同。

torch、torchvision、torchaudio版本需要对应。比如:

​# CUDA 11.8
conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 pytorch-cuda=11.8 -c pytorch -c nvidia
# CUDA 12.1
conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 pytorch-cuda=12.1 -c pytorch -c nvidia
# CPU Only
conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 cpuonly -c pytorch# CUDA 11.8
pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu118
# CUDA 12.1
pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu121
# CPU only
pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cpu# CUDA 11.1
pip install torch==1.10.1+cu111 torchvision==0.11.2+cu111 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html# CUDA 10.2
pip install torch==1.10.1+cu102 torchvision==0.11.2+cu102 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu102/torch_stable.html# CPU only
pip install torch==1.10.1+cpu torchvision==0.11.2+cpu torchaudio==0.10.1 -f https://download.pytorch.org/whl/cpu/torch_stable.html# CUDA 10.0
conda install pytorch==1.0.0 torchvision==0.2.1 cuda100 -c pytorch# CUDA 9.0
conda install pytorch==1.0.0 torchvision==0.2.1 cuda90 -c pytorch# CUDA 8.0
conda install pytorch==1.0.0 torchvision==0.2.1 cuda80 -c pytorch# CPU Only
conda install pytorch-cpu==1.0.0 torchvision-cpu==0.2.1 cpuonly -c pytorch​

参考:Previous PyTorch Versions | PyTorch

4、torch安装

4.1)网络好的,直接在线安装:

# CUDA 11.1

pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.html

4.2)网络不好的,下载torch-1.9.0+cu111-cp37-cp37m-win_amd64.whl、torchvision-0.10.0+cu111-cp37-cp37m-win_amd64和torchaudio-0.9.0-cp37-cp37m-win_amd64.whl离线安装:

pip install --no-deps torch-1.9.0+cu111-cp37-cp37m-win_amd64.whl
pip install --no-deps torchvision-0.10.0+cu111-cp37-cp37m-win_amd64.whl
pip install --no-deps torchaudio-0.9.0-cp37-cp37m-win_amd64.whl

按顺序安装,不然可能安装torchvision的时候给你安装了cpu版本的torch

--no-deps这个选项的作用是忽略依赖关系的安装,只安装指定的包。

比如:我的电脑显卡NVIDIA  Quadro K620,cuda版本10.2,选择对应的torch-1.9.0+cu102、torchversion-0.10.0+cu02、torchaudio-0.9.0

https://download.pytorch.org/whl/torch

https://download.pytorch.org/whl/torchvision

https://download.pytorch.org/whl/torchaudio

从上面中下载torch-1.9.0+cu102-cp38-cp38-win_amd64.whl、torchvision-0.10.0+cu102-cp38-cp38-win_amd64.whl、torchaudio-0.9.0-cp38-cp38-win_amd64.whl

安装:

pip install --no-deps d:\torch-1.9.0+cu102-cp38-cp38-win_amd64.whl
pip install --no-deps d:\torchvision-0.10.0+cu102-cp38-cp38-win_amd64.whl
pip install --no-deps d:\torchaudio-0.9.0-cp38-cp38-win_amd64.wh

4.3)安装其他依赖库

安装numpy包(从官网下载)

pip install numpy

或者安装numpy包(从镜像对象中下载)

pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

安装pillow

pip install pillow -i https://pypi.tuna.tsinghua.edu.cn/simple

安装typing_extensions

pip install typing_extensions -i https://pypi.tuna.tsinghua.edu.cn/simple

5、验证环境是否安装好?

python>>>import torch>>>torch.__version__>>>torch.cuda.is_available() ## 一定要输出True才是成功

五、pycharm配置pytorch

1、创建python项目。

2、配置项目,File→settings

3、Project pythonProject→Python Interpreter

4、Add Interpreter→Add Local Interpreter

5、选择Existing Environment

6、直接运行.py文件,查看结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/876324.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue中常用指令简介

一. V-html 作用:更新元素的innerHTML,拥有响应式的特点,即数据驱动视图,解析标签,作用类似于js中获取dom对象,然后再进行innerHTML赋值。 展示了一下v-html解析标签的特点,这算是和插值表达式…

【网络安全的神秘世界】文件包含漏洞

🌝博客主页:泥菩萨 💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 一、概述 文件包含:重复使用的函数写在文件里,需要使用某个函数时直接调用此文件,而无需再…

【Linux】生产者消费者模型 + 线程池的介绍和代码实现

前言 上节我们学习了线程的同步与互斥,学习了互斥锁和条件变量的使用。本章我们将学习编程的一个重要模型,生产者消费者模型,并且运用之前学的线程同步和互斥的相关接口来实现阻塞队列和环形队列,最后再来实现一个简易的线程池。 …

国科大作业考试资料《人工智能原理与算法》2024新编-第十三次作业整理

1、假设我们从决策树生成了一个训练集,然后将决策树学习应用于该训练集。当训练集的大小趋于无穷时,学习算法将最终返回正确的决策树吗?为什么是或不是? 本次有两个参考: 参考一: 当训练集的大小趋于无穷…

普中51单片机:蜂鸣器的简单使用(十一)

文章目录 引言蜂鸣器的分类工作原理无源蜂鸣器压电式蜂鸣器:电磁式蜂鸣器: 电路符号及应用代码演示——无源蜂鸣器 引言 蜂鸣器是一种常见的电子音响器件,广泛应用于各种电子产品中。它们能够发出不同频率的声音,用于警报、提醒、…

整数二分详解【附带PPT】

#include<bits/stdc.h> using namespace std; int n,a[1001],k;int b_search1(int l,int r,int k){while(l<r){int mlr1>>1;//检查是否满足橙色性质 if(a[m]<k) lm;else rm-1;}//循环结束l和r同时指向边界 return l; }int b_search2(int l,int r,int k){whil…

【Linux】进程间通信(1):进程通信概念与匿名管道

人与人之间是如何通信的&#xff1f;举个简单的例子&#xff0c;假如我是月老&#xff0c;我要为素不相识的但又渴望爱情的男女两方牵红线。我需要收集男方的信息告诉女方&#xff0c;收集女方的信息告诉男方&#xff0c;然后由男女双方来决定是否继续。对于他们而言&#xff0…

Python | Leetcode Python题解之第275题H指数II

题目&#xff1a; 题解&#xff1a; class Solution:def hIndex(self, citations: List[int]) -> int:n len(citations)left 0; right n - 1while left < right:mid left (right - left) // 2if citations[mid] > n - mid:right mid - 1else:left mid 1retur…

【Linux C | 网络编程】进程池大文件传输的实现详解(三)

上一篇实现了进程池的小文件传输&#xff0c;使用自定义的协议&#xff0c;数据长度数据本身&#xff0c;类似小火车的形式&#xff0c;可以很好的解决TCP“粘包”的问题。 【Linux C | 网络编程】进程池小文件传输的实现详解&#xff08;二&#xff09; 当文件的内容大小少于…

html+css 动态效果

1.波浪效果 <div class"sitesingle"></div> <style>.sitesingle{display:flex;justify-content:space-between;align-items:stretch;overflow:hidden;position:relative;height: 400px;}keyframes bgRotate{0%{transform:rotate(0deg)}to{transfor…

基于关联规则的分类算法(CBA) | 项集、频繁项集、关联规则 | arulesCBA库

基于关联规则的分类算法 目前使用较多且较为简洁的关联规则分类算法是基于关联规则的分类算法&#xff08;Classification Based on Association, CBA&#xff09;&#xff0c;下面将从该算法的相关概念开始介绍。 这部分笔记参考论文&#xff1a;孙菡悦.基于多因素交互效应的…

C++的STL简介(一)

目录 1.什么是STL 2.STL的版本 3.STL的六大组件 4.string类 4.1为什么学习string类&#xff1f; 4.2string常见接口 4.2.1默认构造 ​编辑 4.2.2析构函数 Element access: 4.2.3 [] 4.2.4迭代器 ​编辑 auto 4.2.4.1 begin和end 4.2.4.2.regin和rend Capacity: 4.2.5…

repo中的default.xml文件project name为什么一样?

文章目录 default.xml文件介绍为什么 name 是一样的&#xff0c;path 不一样&#xff1f;总结 default.xml文件介绍 在 repo 工具的 default.xml 文件中&#xff0c;定义了多个 project 元素&#xff0c;每个元素都代表一个 Git 仓库。 XML 定义了多个不同的 project 元素&…

树和二叉树(不用看课程)

1. 树 1.1 树的概念与结构 树是⼀种非线性的数据结构&#xff0c;它是由 n&#xff08;n>0&#xff09; 个有限结点组成⼀个具有层次关系的集合。把它叫做树是因为它看起来像⼀棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。 • 有⼀个特殊的结点&am…

GD32相较于STM32的优劣势-完全总结

优势 1.更高的主频 GD32单片机的主频可以达到108MHz&#xff0c;‌而STM32的最大主频为72MHz&#xff0c;‌这意味着GD32在代码执行速度上具有优势&#xff0c;‌适合需要快速处理数据的场景 2.更低的内核电压 GD32的内核电压为1.2V&#xff0c;‌而STM32的内核电压为1.8V。…

《系统架构设计师教程(第2版)》第12章-信息系统架构设计理论与实践-05-信息系统架构案例分析

文章目录 1. 价值驱动的体系结构——连接产品策略与体系结构1.1 价值模型1&#xff09;概述2&#xff09;价值驱动因素3&#xff09;传统方法识别价值模型的缺陷&#xff08;了解即可&#xff09; 1.2 体系结构策略&#xff08;挑战&#xff09;1&#xff09; 优先级的确定2&am…

【C++】动态内存管理与模版

目录 1、关键字new&#xff1a; 1、用法&#xff1a; 2、理解&#xff1a; 3、与malloc的相同与不同&#xff1a; 1、相同&#xff1a; 2、不同&#xff1a; 2、模版初阶&#xff1a; 1、函数模版&#xff1a; 1、概念&#xff1a; 2、关键字&#xff1a;template&…

微信公众号获取用户openid(PHP版,snsapi_base模式)

微信公众号获取用户openid的接口有2个&#xff1a;snsapi_base、snsapi_userinfo 详情见微信公众号开发文档&#xff1a;https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html 本文介绍用PHP方式调用snsapi_base接口获取微信用户…

苦学Opencv的第十一天:图像的形态学操作

Python OpenCV从入门到精通学习日记&#xff1a;图像的形态学操作 前言 图像形态学是图像处理中的一个重要分支&#xff0c;主要关注图像中物体的形状和结构。通过形态学操作&#xff0c;我们可以对图像进行有效的分析和处理&#xff0c;例如图像的腐蚀与膨胀、开运算与闭运算…

ansible基础讲解和加密文件讲解

ansible最重要的三个文件 /etc/ansible/ansible.cfg #####ansible的配置文件 /etc/ansible/host ##清单文件inventory ansible-navigator.yml ####以yml结尾的文件可以理解为conf结尾的文件&#xff0c;是配置文件&#xff0c;用于设置剧本playbook playbook讲解 以.yml结…