当前位置: 首页 > news >正文

从零安装pytorch并在pycharm中使用

背景介绍

目前主流使用的工具有Facebook搞的pythorch和谷歌开发的tensorflow两种,二者在实现理念上有一定区别,pytorch和人的思维模式与变成习惯更像,而tensorflow则是先构建整体结构,然后整体运行,开发调试过程较为繁琐,但好处是复用部署较方便,本质是其二者分别使用动态、静态图的区别。

安装Anaconda

Anaconda是python的包管理工具,并且允许创造多个虚拟环境,用以分别安装不同的python版本及包,相当于是python环境的虚拟机。
官网下载地址在此

下载后按照推荐步骤安装即可
安装界面
安装选项
第二个选项是将anaconda本身的python环境等信息添加到系统变量中,不推荐是怕引发环境变量错误,所以我们需要分别手动添加安装目录anaconda,安装目录下的\ScriptsLibrary\bin目录添加到系统变量中:
添加系统变量
安装完成后,可在系统中搜索Anaconda,或Jupyter Notebook,可找到如下文件:
安装所得
以后仅使用Jupyter Notebook和Anaconda Prompt,将其发送到桌面即可,此时打开Prompt即可进入anaconda的虚拟环境,示例如图:
虚拟环境
常用命令如下:

清屏			cls
列出所有环境		conda env list
列出所有库		conda list
创建环境			conda create -n 环境名 python=版本号
删除环境			conda remove -n 环境名 --all
进入环境			conda activate 环境名
退出当前环境		conda deactivate

创建环境
创建环境时会自动安装需要的组件和库,下载即可,此时再列出环境可见如下所示:
环境生成

安装CUDA

随着神经网络等人工智能算法和大数据技术的发展,计算量越来越大,仅靠cpu的处理已经不能满足训练需要,我们使用中多通过专门负责图像处理的显卡来加速训练过程,所以在pytorch的安装中我们需要使用显卡加速功能——cuda,加速显卡和cpu并行计算功能的平台,该技术目前仅支持英伟达显卡。
首先在cmd命令中输入nvidia-smi查看显卡驱动API的CUDA版本:
显卡CUDA

cuda下载网站
该显卡CUDA版本为12.2,下载的新cuda平台不应高于该版本,故下载如下版本:
cuda下载
安装时仅选择CUDA即可:
安装cuda
安装位置

安装完成后可通过nvcc -V命令查看cuda版本:
cuda版本

安装pytorch

pytorch的本质是三个库,torchtorchvisiontorchaudiotorch最大有1G左右,另外两个只是补充的附件,所以工程中我们一般只import torch即可。

直接到其官方网站寻找下载资源,根据需要的版本生成指令,
安装指令
然后到conda prompt虚拟环境中输入该指令即可直接下载,网络情况较好可直接使用,否则可使用镜像源,或到命令中的url手动下载,再使用pip命令手动安装。

安装完成后输入conda list查看所有库,出现如下图说明安装成功
查看库
在环境中打开python,查看能否导入,示例如下则说明安装成功:
测试安装结果

报错解决——fbgemm.dll

这里我重新创建了新的名为pytorch,python版本为3.9的环境,因为之前尝试了3.12和3.11的均在导入时报错缺少fbgemm.dll" or one of its dependencies.,在目录下是有这个文件的,用dll组件查看发现依赖缺少很多文件,不是能一个个找到再添加的了,也有说法是电脑缺少C++的运行环境,但在本机中查看是装了的,卸载重装也没用,最后想到是不是可能版本不对应,分别尝试了不同的pytroch版本和CUDA版本,最后试了环境本身的python版本降到3.9才成功,可官网明明白白写着支持3.12,具体咋回事就不明白了,暂时有的用就是好的。

连接pycharm

直接上图
导入conda环境

如图可见在pycharm中可用pytorch,并可以使用cuda加速。

总结

pytorch安装主要分三步,
1,包管理工具Anaconda用于管理组件,创造虚拟环境;
2,安装加速平台CUDA,主要涉及显卡cuda版本和安装cuda平台版本的关系;
3,安装pytorch,要与安装CUDA对应。

其中CUDA要注意版本向下兼容,顺序分别为显卡驱动API的CUDA版本—安装cuda平台的运行API版本—pytorch版本,版本可依次递减,但后不可大于前。
而pytorch除了要与CUDA对应外,还需注意与Anaconda的python版本对应,当然一般用旧的没什么问题,可那还怎么进步呢,只追求稳定,人类现在可能还用石头火把呢。

安装环境难的就在不同组件之间的配合,版本低了高了,语言和选项等选不对造成安装出错,如果要改就很麻烦,本人在配置过程也折腾了很长时间,就因为不想按教程装老版本,又没有提前搞清楚各个组之间的对应关系,导致不必要的时间浪费在改错上,还不如从头开始了,任务真正开始之前的准备工作还是做充分。

相关文章:

从零安装pytorch并在pycharm中使用

背景介绍 目前主流使用的工具有Facebook搞的pythorch和谷歌开发的tensorflow两种,二者在实现理念上有一定区别,pytorch和人的思维模式与变成习惯更像,而tensorflow则是先构建整体结构,然后整体运行,开发调试过程较为繁…...

开源AI工具FastGPT和RagFlow对比

FastGPT和RagFlow都是基于大型语言模型(LLM)的先进AI系统,它们在多个方面有着各自的特点和优势。 以下是对两者性能的详细对比: 一、系统架构与功能 FastGPT: 数据收集:通过从互联网上收集大量的文本数…...

第N2周:NLP中的数据集构建

对于初学者,NLP中最烦人的问题之一就数据集的构建问题,处理不好就会引起shape问题(各种由于shape错乱导致的问题)。这里给出一个模版,大家可根据这个模版来构建。 torch.utils.data是PyTorch中用于数据加载和预处理的…...

AI助力浮雕创作!万物皆可浮雕?Stable Diffusion AI绘画【浮雕艺术】之文生浮雕!

前言 对于浮雕艺术,其实并不了解。但有幸能和“细辛”前辈结识,对浮雕有了简单的了解,浮雕图案的传统方式是先由画师画出图,然后由雕刻师雕刻。画师画图归为浮雕的设计阶段,画师会绘制出浮雕的设计图,‌这为…...

你觉得大模型时代该出现什么?

大模型的概念都火了两年了,之前各种媒体吹嘘大模型的出现是类似“蒸汽机时代”、“iPhone时刻”等等。那为什么我们期待的结果都没出现呢?咱们先一起回顾下历史。 1、蒸汽机时代 1.1、蒸汽机历史 许多人都在讨论大模型时代好像只是概念在火&#xff0…...

JS【详解】事件委托

事件委托的简介 事件委托(Event Delegation)是 JS 处理事件的一种技术:不直接在目标元素上设置事件监听器,而是在其父元素或祖先元素上设置监听器,然后利用事件冒泡机制来捕获和处理事件。 事件委托的好处 减少内存占用…...

谈对象系列:C++类和对象

文章目录 一、类的定义1.1类定义的格式类的两种定义方法结构体: 1.2访问限定符1.3类域 二、实例化2.1变量的声明和定义2.2类的大小计算空类的大小(面试): 三、this指针小考题 一、类的定义 1.1类定义的格式 使用class关键字&…...

设计模式20-备忘录模式

设计模式20-备忘录 动机定义与结构定义结构 C代码推导优缺点应用场景总结备忘录模式和序列化备忘录模式1. **动机**2. **实现方式**3. **应用场景**4. **优点**5. **缺点** 序列化1. **动机**2. **实现方式**3. **应用场景**4. **优点**5. **缺点** 对比总结 动机 在软件构建过…...

绘制echarts-liquidfill水球图

文章目录 一、效果图二、步骤1.安装插件2.引入2.主要代码2.素材图片 总结 一、效果图 二、步骤 1.安装插件 npm install echarts npm install echarts-liquidfillecharts5的版本与echarts-liquidfill3兼容,echarts4的版本与echarts-liquidfill2兼容,安装的时候需要…...

应急响应:D盾的简单使用.

什么是应急响应. 一个组织为了 应对 各种网络安全 意外事件 的发生 所做的准备 以及在 事件发生后 所采取的措施 。说白了就是别人攻击你了,你怎么把这个攻击还原,看看别人是怎么攻击的,然后你如何去处理,这就是应急响应。 D盾功…...

c语言第14天笔记

通过指针引用数组 数组元素的指针 数组指针:数组中的第一个元素的地址,也就是数组的首地址。 指针数组:用来存放数组元素地址的数组,称之为指针数组。 注意:虽然我们定义了一个指针变量接收了数组地址,但…...

服装行业QMS中的来料检验:常见问题解析与解决策略

在服装行业的来料检验过程中,常会遇到一系列问题,这些问题可能影响到原材料的质量,进而影响最终产品的品质。以下将详细介绍来料检验的常见问题及相应的解决方法: 一、常见问题 外观瑕疵 问题描述:原材料表面存在污渍…...

健身动作AI识别,仰卧起坐计数(含UI界面)

用Python和Mediapipe打造,让你的运动效果一目了然! 【技术揭秘】 利用Mediapipe的人体姿态估计,实时捕捉关键点,精确识别动作。 每一帧的关键点坐标和角度都被详细记录,为动作分析提供数据支持。 支持自定义动作训练&a…...

GitHub开源金融系统:Actual

Actual:电子金融,本地优先,自由开源- 精选真开源,释放新价值。 概览 Actual的创新之处在于其对个人财务管理的全面考虑,它不仅仅是一个简单的记账工具,而是一个综合性的理财解决方案。它的本地优先设计意味…...

【学习笔记】Day 7

一、进度概述 1、DL-FWI基础入门培训笔记 2、inversionnet_train 试运行——未成功 二、详情 1、InversionNet: 深度学习实现的反演 InversionNet构建了一个具有编码器-解码器结构的卷积神经网络,以模拟地震数据与地下速度结构的对应关系。 (一…...

网络中特殊的 IP 地址

特殊网络 IP 127.0.0.1 127.0.0.1 是本机回送地址,发送到 127.0.0.1 的数据或者从 127.0.0.1 返回的数据只会在本机进行传输, 而不进行外部网络传输。 主要有以下两个作用: 测试本机网络 当我们可以 ping 通 127.0.0.1 的时候, 则说明本机的网卡以及 tc…...

ASP 表单处理入门指南

ASP 表单处理入门指南 简介 ASP(Active Server Pages)是一种由微软开发的服务器端脚本环境,用于动态生成交互性网页。它允许开发者结合HTML、VBScript或JScript脚本语言来创建和运行动态网页或Web应用程序。本文将重点介绍如何使用ASP来处理表单数据,包括表单的创建、数据…...

极米RS10Plus性价比高吗?7款4-6K价位投影仪测评哪款最好

通常家庭想买个投影仪都会选择4-6K这个价位段的投影仪,3K以下的投影配置太低,6K以上的价格略高,4-6K价位段的中高端投影仪正好满足大部分家庭的使用需求。正好极米投影在8月份上新了一款Plus版本的长焦投影:极米RS10Plus&#xff…...

RocketMQ怎么对文件进行读写的?

RocketMQ 对文件的读写主要依赖于其底层的存储机制,核心组件是 CommitLog 和 ConsumeQueue,并且通过 MappedFile 类来进行高效的文件操作。以下是 RocketMQ 文件读写的详细介绍: 1. CommitLog CommitLog 是 RocketMQ 的核心存储文件&#x…...

智慧宠物护理:智能听诊器引领健康监测新潮流

在宠物健康科技的浪潮中,智能听诊器的诞生标志着宠物健康管理迈向了智能化的新纪元。广州坎普利智能信息科技有限公司的创新产品,正为宠物主人和他们的毛茸茸伙伴带来前所未有的关怀体验。 创新特点 这款智能听诊器,以其前沿科技和人性化设…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

【Oracle APEX开发小技巧12】

有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...