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,一经查实,立即删除!

相关文章

慢慢欣赏DPDK RTE_MAX_ETHPORTS的定义

DPDK代码里面,RTE_MAX_ETHPORTS是一个常见的宏定义,但是在.c和.h文件找不到其定义,在全文件搜索条件下,在config/meson.build找到这么一个定义 dpdk_conf.set(RTE_MAX_ETHPORTS, get_option(max_ethports)) 该宏定义是根据构建输…

Vue中常用指令简介

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

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

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

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

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

半导体行业黑话-01

在半导体行业中,除了专业术语,还有一些行业内的俗称或“黑话”,这些通常是行业内人士之间交流时使用的非正式表达。以下是一些例子: 1. #Bunny suit# - 兔子服,指在洁净室中穿着的无尘服。 2. #Fab# - 晶圆厂&#xff…

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

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

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

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

嵌入式高频面试题100道及参考答案(3万字长文)

目录 解释嵌入式系统的定义和主要特点 描述微处理器与微控制器的主要区别 什么是ARM体系结构?它在嵌入式系统中有哪些优势? 解释GPIO(通用输入输出)的工作原理 什么是ADC和DAC?它们在嵌入式系统中的作用是什么? 解释中断的概念及其在实时系统中的重要性 描述SPI(串…

整数二分详解【附带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…

Unity C#底层原理(二)

委托 方法的容器&#xff1a;委托可以存储一个或多个方法的引用。可以使用委托对象来调用这些方法。函数/方法的变量类型&#xff1a;委托类型可以像变量一样声明和使用&#xff0c;存储方法的引用。存储、传递方法&#xff1a;委托可以作为参数传递给方法&#xff0c;也可以作…

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;孙菡悦.基于多因素交互效应的…

Jupyter Notebook的优点和不足有哪些!?

我们都知道Jupyter Notebook作为一种流行的交互式计算环境&#xff0c;在数据科学、机器学习、科学计算和数据分析等领域具有显著的优势&#xff0c;但同时也存在一些不足之处。以下是对Jupyter Notebook优点和不足的详细分析。 优点 交互式编程&#xff1a; Jupyter Notebook…

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。…