首页 > 其他分享 >(2024已成功)pytorch安装初学者踩过的坑

(2024已成功)pytorch安装初学者踩过的坑

时间:2024-10-10 08:49:15浏览次数:11  
标签:python torch 2024 pytorch 初学者 版本 import cuda

pytorch的教学视频年头已久,而软件的版本都更新很快,于是很容易配置环境出错。这里博主分享自己踩到的坑

一开始配置环境便是分水岭的第一步,大家一定要自己上手做一遍,毕竟配置环境是python学习中永远绕不开的问题了!

一、没有下cuda导致pytorch无法下载gpu版本

照着小土堆的视频在安装,但是最后两步发现conda list之后没有pytorch的包,且重新下载之后利用控制台检验环境也是报错。

于是发现是因为没有下载cuba,所以不管怎么下载,pytorch都会自动切换成了cpu版本。但是我们是需要gpu版本才能进行深度学习的

大家可以用以下方法检查cuda

在命令行cmd中输入

nvcc -V

正常的图片应该如下,如果报错称没有该命令则证明没有cuda,也就是无法使用gpu版本

接下来我照着杰哥的视频来下载对应版本,视频链接是:

【Python深度学习:安装Anaconda、PyTorch(GPU版)库与PyCharm-哔哩哔哩】 https://b23.tv/ZzsTGIK

这里提醒大家,作为初学者,在不熟悉各版本直接的兼容关系时,一定要跟着成熟的方案来操作,简单举例就有

1.anaconda版本稳定问题

2.pytorch包的版本与cuba版本对应、与python对应

3.pycharm新版本的环境设置问题

所以大家一定要跟着大up的各个版本先下一次,后面熟练了再根据需求换其他

二、win11装cuda方法

一开始cuba怎么也装不上,后来换了一个旧版本的就好了。

后来照着up下的老版本11.3版本,立马就装上了

我是24年1月买的拯救者y7000p,4060显卡,版本是12.2.147,但是我尝试下载12.2.0和12.2.1的cuda时候都失败了。失败的截图如下。

所以如果你的也同样报错,不如换个旧版本的试试。虽然上面这两个版本都是比电脑CUDA要小,理论上符合,但实际上不行。

那么如何查看电脑cuda版本呢?

cmd命令行只能看粗略的cuda版本

nvidia-smi

下面分享一下电脑CUDA具体版本查看方法,win11:

1.打开nvidia控制面板->选择左下角的系统信息->组件

2.找到本机CUDA版本,我这里是12.2.147

至于装cuda的具体方法,别的博主写的很详细。给个参考例子

cuda和cudnn的安装教程(全网最详细保姆级教程)_cudnn安装-CSDN博客

三、系统已经安装pytorch却调用不了,import torch报错ModuleNotFoundError: No module named 'torch'找不到对应模块

最后我测试import torch,此时torch包有了,gpu也可以调用了。就在我准备开香槟的时候,bug在重启电脑后产生了:

我发现再次打开时,pytorch又失效了。(后来发现,可能是一开始配置时,不知道打开的哪个之前环境中已经有了pytorch,所以很顺利。但是实际上我现在新命名的环境实际上并不能运行pytorch)

系统已经安装pytorch却调用不了,报错ModuleNotFoundError: No module named 'torch'

Traceback (most recent call last): File "D:\Code\Anaconda3\envs\DL\lib\site-packages\IPython\core\interactiveshell.py", line 3508, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "<ipython-input-2-eb42ca6e4af3>", line 1, in <module> import torch File "D:\Code\PyCharm2023.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "D:\Code\Anaconda3\envs\DL\lib\site-packages\torch\__init__.py", line 140, in <module> raise err OSError: [WinError 126] 找不到指定的模块。 Error loading "D:\Code\Anaconda3\envs\DL\lib\site-packages\torch\lib\torch_python.dll" or one of its dependencies. import torch Traceback (most recent call last): File "D:\Code\Anaconda3\envs\DL\lib\site-packages\IPython\core\interactiveshell.py", line 3508, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "<ipython-input-3-eb42ca6e4af3>", line 1, in <module> import torch File "D:\Code\PyCharm2023.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "D:\Code\Anaconda3\envs\DL\lib\site-packages\torch\__init__.py", line 140, in <module> raise err OSError: [WinError 126] 找不到指定的模块。 Error loading "D:\Code\Anaconda3\envs\DL\lib\site-packages\torch\lib\torch_python.dll" or one of its dependencies.

开始了漫长的查找过程,尝试了把pycharm控制台换成命令行、重新加入虚拟环境、将该路径加入环境变量等等,发现都没用

最后照一个帖子把该虚拟环境下python,从3.7重新下载成3.9版本就ok了,因此很大概率可能是因为cuda、pytorch、python版本没匹配上

所以说大家一定要跟着成熟的方案来下版本!

conda create -n DL python=3.9

(DL是我的虚拟环境名字)

四、pycharm导入anaconda环境

如果你的pycharm版本较高,则conda添加时不易找到

有两种方法都可行

1.python.exe(虚拟环境中)

在刷新之后会自动显示成conda的绿标

2.conda.exe(base环境中)

小建议

1.记得重启应用

pycharm切换环境、cmd命令行添加路径路径时都会遇到未及时刷新的问题,所以小伙伴们在使用pycharm和cmd时如果没响应就关掉重启一下

2.下载文件和包时候挂梯子

在官网上下载文件时,cuba、anaconda、pycharm这些国外网站时,如果不挂梯可能打都打不开,更别说下载速度了。

还有下载包的时候,如果不用清华镜像源,那么咱们下载的所有程序包都是联网国外网站下的。而很多包在镜像源上是没有资源的。那么我们最好都挂梯直接下

另外如果pip下载和conda下载中途不稳定常断的话,用手机流量连接就没事了(同时仍旧挂梯)。

标签:python,torch,2024,pytorch,初学者,版本,import,cuda
From: https://blog.csdn.net/2301_80060871/article/details/142675983

相关文章

  • 2024初秋集训——提高组 #34
    A.庸医题目描述有\(N\)个医生,第\(i\)个医生建议你在\([L_i,R_i]\)天中吃\(x_{i,1},x_{i,2},\dots,x_{i,K_i}\)种药各一粒。第\(i\)种药每粒需要\(c_i\)元。如果多个医生让你吃同一种药,那么你只需吃一粒。你认为其中有一位庸医,所以对于每个医生求出按照除去他外的医......
  • 2024.10.9
    完善由合同来直接生成制令的代码publicvoidinsertOrdersByContract(Contractscontract){//查询刚刚插入的合同contract=contractsMapper.selectContractsList(contract).get(0);//1.根据合同生成唯一的总制令Ordersorders=newO......
  • 20222414 2024-2025-1 《网络与系统攻防技术》实验一实验报告
    实验目的本次实践的对象是一个名为pwn1的linux可执行文件。该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串。该程序同时包含另一个代码片段,getShell,会返回一个可用Shell。正常情况下这个代码是不会被运行的。我们实践的目标就是想办法运行这个代码......
  • 2024-10-9
    form表单实操点击查看代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Docume......
  • #20222309 2024-2025-1 《网络与系统攻防技术》实验一实验报告
    1.实验内容1、直接修改程序机器指令,改变程序执行流程2、通过构造输入参数,造成BOF攻击,改变程序执行流3、注入Shellcode并执行2.实验过程1、直接修改程序机器指令,改变程序执行流程将pwn1改名为pwn20222309-1,并运行打开文件打开文件为乱码按esc键,输入:%!xxd进入十六进制......
  • coreldraw2024注册机和破解补丁百度网盘
    ###......
  • cdr2024序列号和密钥激活码cdr2024序列号和激活码是多少?
    ###......
  • js学习 -2024/10/9
    今天学习了js中的一些知识DOM通过document.get...函数获取元素对象可以查阅h3school资料找对象的函数,操作对象,//根据id获取元素对象//letid=document.getElementById('back');//id.src="../img/02.png";//根据标签获取元素对象vardivss=document.getElement......
  • 2024/10/9日 日志
    今天进行了离散数学中关于并包的知识,通过对之前关系内容的复习和今天知识的学习,对三种并包形式,即自反r,对称s,传递t的实现有了规律总结,即RIr即(如包含x,x),RIk即(如包含y,x),以及R*R+即(R+R2+R3+.....+Rn)。此外,在数据结构的学习中,继续学习了关于栈以及队列的内容,并对双栈公用的代码进行了实......
  • # 20222323 2024-2025-1 《网络与系统攻防技术》实验一实验报告
    1.实验内容1、熟悉基本的汇编指令,如管道、输入、输出重定向2、掌握了栈与堆的概念3、掌握反汇编与十六进制编程器实验任务1、手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数。2、利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发getShell函数。3、......