机器学习深度学习——非NVIDIA显卡怎么做深度学习(坑点排查)
👨🎓作者简介:一位即将上大四,正专攻机器学习的保研er
🌌上期文章:机器学习&&深度学习——数值稳定性和模型化参数(详细数学推导)
📚订阅专栏:机器学习&&深度学习
希望文章对你们有所帮助
这一部分掉坑真的不知道掉了多少个。我是AMD卡的,我想AMD卡的同志们很多都掉过坑了,也许就在我掉过众多坑里面。网上很多说法是AMD卡做深度学习可以使用RCom,然而我发现几乎没有太多资料,毕竟做深度学习的大多数用的是N卡。emmmm,万一掉坑了都没有人能启发到我,所以当时我就放弃了,接下来给出坑点并且排查,最终给出绝对可行的解决方案。
AMD显卡怎么做深度学习
- 卸载CPU版本的torch
- 卸载方式
- 问题
- 安装GPU版本的torch
- 安装方式
- 问题
- Anaconda配置虚拟环境
- 下载cuda
- 问题
- 最终解决方案
之前的内容中,我都是使用了CPU版本的torch来进行深度学习,在前面的线性模型当然很好跑,因为线性模式确实是比较简单的。但是随着之后的模型越发的复杂,我们很需要GPU来帮助我们实现并行运算,因此我们需要安装GPU版本的torch。
卸载CPU版本的torch
因为听说有了GPU版本的torch,在一些使用的过程中可能会出现冲突,所以我第一下想到的就是卸载CPU版本的torch。卸载的时候还需要把这个torch中所包含的包也一并卸载了。
卸载方式
使用cmd终端卸载,卸载的方式有两种:
1、pip方式卸载:
pip uninstall torch
pip uninstall torchvision
2、conda方式卸载:
conda uninstall pytorch
conda uninstall libtorch
据说是使用了conda方式下载的话就用第二种,pip方式下载的话就用第一种,感觉好像又不是很有道理,总之两个都试过了,也都告诉我卸载成功了。
问题
但是接下来就出现了很奇怪的一幕。我在cmd终端输入如下语句:
pythonimport torchtorch.__version__
最终告诉我的答案里面是不存在torch,那理论上应该是成功了才对。。。然而我去pycharm中执行:
import torchprint(torch.__version__)
额。。。居然给我输出了CPU版本的torch,我还猜测是不是亲爱的pycharm没缓过来。。。无论重启还是关机都显示含有CPU版本的torch。。。原地捣鼓半天,网上好像也没个针对这个具体问题的解决方案,最终放弃卸载。
安装GPU版本的torch
安装方式
进入pytorch官网:
pytorch官网

用上面的conda或者pip语句都是可以的,在终端中运行就好,连cuda版本都给咱们指定好了。
问题
我以为pycharm是出了什么毛病,明明终端显示没有CPU版本的torch了,偏偏pycharm输出了。。。我就以为换个GPU版本的torch应该就没事了,这其实也是瞎捣鼓,最终在pycharm中输出CPU版本的torch,在终端输出GPU版本的torch。
因此在pycharm中跑GPU方式的代码是行不通的。。。
Anaconda配置虚拟环境
既然卸载的方式行不通,我就找别的方法,之前已经安装过了Anaconda,我们靠着这个工具来实现环境的配置。步骤如下:
1、我们可以自行创建虚拟环境:
conda create --name pytorch python=3.9
我们可以通过
conda env list
来查看当前的环境,其中base是本来的环境,pytorch是我们创建的虚拟环境。

2、我们需要激活这个环境,那么接下来下载的东西(包括各种的包、包括GPU版本的torch)都可以下载到这个虚拟环境去,也就是说这个虚拟环境本来就是干净的,不像base环境那样装过CPU版本的torch。
激活的语句为:
avtivate pytorch
再打开当前的环境列表,可以看出pytorch已经被激活:

3、下载GPU版本的torch
将上面的语句进行下载,接下来就可以把torch下载到自己新建的虚拟环境pytorch中去了。
4、在pycharm中配置它。
打开File-Settings-Project:Python-Python Interpreter:

点开Add Local Interpreter,即可选择之前的路径成功切换。
但是此时我还是不能运行相关语句,搜相关资料以后知道是没有cuda,运行语句:
print(torch.cuda.is_available())
最后会返回False,因此我们需要下载cuda。
下载cuda
这个步骤就不细说了,这个下载过程是傻瓜式教程,网上有。
问题
这个问题就比较严重了。。。安装都安装不成,安装了我才知道只有NVIDIA卡是可以下载cuda的,那我的方向再一次断了,而且我很难在原有基础上转变思路。
最终解决方案
接下来就是我最终的解决方案了,租借线上平台。
我是用的autodl平台去租借的,大家可以放心使用(我觉得官网有点话都写的不太清楚,我一直不知道到底只是租一个GPU而已还是啥,因为如果只是租一个GPU我没有cuda照样不行,最终还是搞了点钱去试了一下),点开以后里面有使用文档,使用方法很容易,大家可以放心使用。
相关文章:
机器学习深度学习——非NVIDIA显卡怎么做深度学习(坑点排查)
👨🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——数值稳定性和模型化参数(详细数学推导) 📚订阅专栏:机器…...
2021 Robocom 决赛 第四题
原题链接: PTA | 程序设计类实验辅助教学平台 题面: 在一个名叫刀塔的国家里,有一只猛犸正在到处跑着,希望能够用它的长角抛物技能来撞飞别人。已知刀塔国有 N 座城市,城市之间由 M 条道路互相连接,为了拦…...
线程池-手写线程池Linux C简单版本(生产者-消费者模型)
目录 简介手写线程池线程池结构体分析task_ttask_queue_tthread_pool_t 线程池函数分析thread_pool_createthread_pool_postthread_workerthread_pool_destroywait_all_donethread_pool_free 主函数调用 运行结果 简介 本线程池采用C语言实现 线程池的场景: 当某些…...
05-向量的意义_n维欧式空间
线性代数 什么是向量?究竟为什么引入向量? 为什么线性代数这么重要?从研究一个数拓展到研究一组数 一组数的基本表示方法——向量(Vector) 向量是线性代数研究的基本元素 e.g. 一个数: 666,…...
交通运输安全大数据分析解决方案
当前运输市场竞争激烈,道路运输企业受传统经营观念影响,企业管理者安全意识淡薄,从业人员规范化、流程化的管理水平较低,导致制度规范在落实过程中未能有效监督与管理,执行过程中出现较严重的偏差,其营运车…...
vimrc 配置 (持续跟新中)
vimrc 配置 #显示行号 set nu #自动换行 set autoindent #设置tab键 宽度为四个空格 set tabstop4 set shiftwidth4 set expandtab更多文章,详见我的博客网站...
【集成学习介绍】
1. 引言 在机器学习领域,集成学习(Ensemble Learning)是一种强大的技术,通过将多个弱学习器组合成一个更强大的集成模型,来提升模型的鲁棒性和性能。 2. 集成学习的原理 集成学习的核心思想是“三个臭皮匠ÿ…...
动画制作选择Blender还是Maya
Blender和Maya是两种最广泛使用的 3D 建模和动画应用程序。许多经验丰富的用户表示,Blender 在雕刻工具方面远远领先于 Maya,并且在 3D 建模方面达到了相同的质量水平。对于刚接触动画行业的人来说,您可能会问“我应该使用 Blender 还是 Maya…...
215. 数组中的第K个最大元素
题目链接:力扣 解题思路: 方法一:基于快速排序 因为题目中只需要找到第k大的元素,而快速排序中,每一趟排序都可以确定一个最终元素的位置。 当使用快速排序对数组进行降序排序时,那么如果有一趟排序过程…...
NLP From Scratch: 生成名称与字符级RNN
NLP From Scratch: 生成名称与字符级RNN 这是我们关于“NLP From Scratch”的三个教程中的第二个。 在<cite>第一个教程< / intermediate / char_rnn_classification_tutorial ></cite> 中,我们使用了 RNN 将名称分类为来源语言。 这次ÿ…...
Spring MVC程序开发
目录 1.什么是Spring MVC? 1.1MVC定义 1.2MVC和Spring MVC的关系 2.为什么要学习Spring MVC? 3.怎么学Spring MVC? 3.1Spring MVC的创建和连接 3.1.1创建Spring MVC项目 3.1.2RequestMapping 注解介绍 3.1.3 RequestMapping 是 post 还是 get 请求? …...
医疗知识图谱问答——文本分类解析
前言 Neo4j的数据库构建完成后,现在就是要实现医疗知识的解答功能了。因为是初版,这里的问题解答不会涉及深度学习,目前只是一个条件查询的过程。而这个过程包括对问题的关键词拆解分类,然后提取词语和类型去图数据库查询…...
JS关于多张图片上传显示报错不影响后面图片上传方法
关于多张图片上传或者下载显示报错后会程序会终止执行,从而影响后面图片上传。 解决方法: /*能正常访问的图片*/ const url https://2vimg.hitv.com/100/2308/0109/5359/dqKIZ7d4cnHL/81Vu0c.jpg?x-oss-processimage/format,webp; /*不能正常下载的图…...
MySQL踩坑之sql_mode的用法
目录 定义 报错重现 编辑 原因分析 sql_mode值说明 查看当前sql_mode 设置sql_mode 定义 什么是sql_mode?玩了这么久的MySQL语句...
消息队列总结(4)- RabbitMQ Kafka RocketMQ高性能方案
1.RabbitMQ的高性能解决方案 1.1 发布确认机制 RabbitMQ提供了3种生产者发布确认的模式: 简单模式(Simple Mode):生产者发送消息后,等待服务器确认消息已经被接收。这种模式下,生产者发送消息后会阻塞&am…...
websocket服务端大报文发送连接自动断开分析
概述 当前springboot版本:2.7.4 使用依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dependency>现象概述: 客户端和服务端已经有心跳…...
想写几个上位机,是选择学c#还是 c++ qt呢?
C#基本也就上位机开发开发,另外做做日常用的小工具很方便。 结合PLC,以太网做上位机,这个基本上控制这块都比较有需求。 另外我们用C#也做一些工具的二次开发,感觉还行。 C用qt框架其实学习起来可能稍微复杂些,但是…...
JavaScript 简单实现观察者模式和发布-订阅模式
JavaScript 简单实现观察者模式和发布-订阅模式 1. 观察者模式1.1 什么是观察者模式1.2 代码实现 2. 发布-订阅模式2.1 什么是发布-订阅模式2.2 代码实现2.2.1 基础版2.2.2 取消订阅2.2.3 订阅一次 1. 观察者模式 1.1 什么是观察者模式 概念:观察者模式定义对象间…...
java集成短信服务 测试版 qq邮箱简单思路
java集成短信服务 注册一个帐号 使用的是容联云,百度搜一下官网 用手机注册一个帐号就行,免费体验不需要认证 注册后会有八块钱送,可以使用免费的给自己设置三个固定手机号发送短信,不需要认证。 此页面的 三个信息需要在代码中…...
#P0994. [NOIP2004普及组] 花生采摘
题目描述 鲁宾逊先生有一只宠物猴,名叫多多。这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!――熊字”。 鲁宾逊先生和多多都很开心,因为花生正…...
App无辜躺枪?手把手教你搞定腾讯手机管家误报导致的应用商店下架
当合规应用遭遇误报下架:开发者系统性应对指南运动健康类应用被标记为金融诈骗软件?社交工具因"病毒风险"被各大商店紧急下架?这类看似荒谬的误报事件,正在成为中小开发团队的"无妄之灾"。某知名运动App开发团…...
UE4动画蓝图实战:用双骨骼IK节点搞定手部穿模,附完整蓝图节点截图
UE4动画蓝图实战:双骨骼IK节点解决手部穿模的完整指南在角色动画开发中,手部穿模问题堪称"视觉杀手"。想象一下精心设计的角色挥拳时,拳头直接穿过墙壁或敌人身体——这种违和感足以毁掉整个场景的沉浸感。本文将彻底解决这个痛点&…...
BLE蓝牙扫描深度剖析:扫描原理、核心参数、前后台差异
一、前言BLE设备交互分为两大角色:广播端(外设Peripheral)与扫描端(中心Central)。上一篇博客详解了四大广播模式,本文聚焦配套核心能力——BLE扫描机制。绝大多数蓝牙开发疑难问题:前台能扫后台…...
SSH工具对比:新手用户和熟练运维,选型逻辑有什么不同
结论 新手用户和熟练运维在选择 SSH 工具时,关注点往往完全不同。 新手更在意的是:能不能顺利连接、界面是否直观、文件和配置是否容易找到、网站出问题时能不能快速定位。 而熟练运维更在意的是:连接效率、命令自由度、多服务器管理能力、原…...
AI开始替人办事后,最危险的不是模型不够强,而是它把旧资料当真了
AI开始替人办事后,最危险的不是模型不够强,而是它把旧资料当真了2026年真正值得重视的AI底层能力,是让模型知道该信谁 你有没有发现一个很扎心的变化。 以前我们用AI,最怕它不会。 现在我们用AI,最怕它太会了。 它能写…...
告别混乱绑定!在UE5 GAS中优雅管理技能输入(基于GameplayTag)
告别混乱绑定!在UE5 GAS中优雅管理技能输入(基于GameplayTag)当你的UE5 RPG项目发展到中期,技能数量从十几个膨胀到几十个时,最痛苦的莫过于发现InputAction绑定已经变成一团乱麻。每次新增技能都要修改输入绑定逻辑&a…...
在Hermes Agent项目中接入Taotoken作为自定义模型供应商
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在Hermes Agent项目中接入Taotoken作为自定义模型供应商 基础教程类,针对使用Hermes Agent框架的开发者,详…...
8款网盘直链下载助手:彻底告别限速烦恼,实现高速下载自由
8款网盘直链下载助手:彻底告别限速烦恼,实现高速下载自由 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移…...
Windows 11 LTSC安装微软商店的终极解决方案:3步恢复完整应用生态
Windows 11 LTSC安装微软商店的终极解决方案:3步恢复完整应用生态 【免费下载链接】LTSC-Add-MicrosoftStore Add Windows Store to Windows 11 24H2 LTSC 项目地址: https://gitcode.com/gh_mirrors/ltscad/LTSC-Add-MicrosoftStore LTSC-Add-MicrosoftStor…...
WarcraftHelper:让经典魔兽争霸3完美适配现代电脑的终极解决方案
WarcraftHelper:让经典魔兽争霸3完美适配现代电脑的终极解决方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3在现代操…...
