【随笔记】Win11、RTX3070、CUDA117的深度学习机器学习环境配置

news2025/2/26 22:19:55

文章目录

  • 一、创建深度学习 Conda 虚拟环境
  • 二、安装 Pytorch-Gpu
  • 三、安装 PyTorch Geometric
  • 四、安装 Sklearn
  • 五、Jupyter 配置
    • 5.1 将虚拟环境加入内核
    • 5.2 插件配置
    • 5.3 主题、字体、字号配置


假设你已经安装了Anaconda3(最新Anaconda3的安装配置及使用教程(详细过程))

假设你已经配置好了cuda和cudann环境(pytorch gpu版本的最全安装教程,含环境配置、CUDA(百度云下载)安装程序失败解决方案)


一、创建深度学习 Conda 虚拟环境

在base环境下,创建python版本为3.9.16的,名为dl_pytorch的虚拟环境

conda create --name dl_pytorch python=3.9.16

在这里插入图片描述
在这里插入图片描述
进入dl_pytorch环境

conda activate dl_pytorch

查看环境中的python版本

python

最后按ctrl+z退出python

在这里插入图片描述

到这里,深度学习的虚拟环境就初步搭建好啦!


二、安装 Pytorch-Gpu

去这个网站下载Pytorch相关的轮子(我试了很多方法,其他方法安装完后GPU总是不可用,用轮子安装一次成功!):https://download.pytorch.org/whl/torch_stable.html

在这里插入图片描述

下载好轮子之后,在虚拟环境中按照顺序执行下面的命令安装(注意换成你的轮子路径 pip install 你的.whl文件地址

下面是我安装时候的命令(仅供参考):

pip install D:\WSKH\Package\Python\pytorch\torch-1.13.1+cu117-cp39-cp39-win_amd64.whl
pip install D:\WSKH\Package\Python\pytorch\torchvision-0.14.1+cu117-cp39-cp39-win_amd64.whl
pip install D:\WSKH\Package\Python\pytorch\torchaudio-0.13.1+cu117-cp39-cp39-win_amd64.whl

在这里插入图片描述

安装完成,进行测试

python
import torch
torch.cuda.is_available()
torch.cuda.get_device_name(0)
torch.rand(3, 3).cuda()

在这里插入图片描述

如果显示和上图一样,那么你也大功告成了!

三、安装 PyTorch Geometric

注意: 千万不要直接pip install 去安装这个库!!!否则很可能会有问题!!!

进入这个GitHub网址: https://github.com/pyg-team/pytorch_geometric

进入页面后往下滑,找到如下图所示的字样,点击here
在这里插入图片描述

选择你电脑中已经安装的torch版本(一定要和你已经安装的torch版本一致),我安装的是torch-1.13.1+cu117,所以就选下图红框中的了

在这里插入图片描述

怎么查看torch版本?

pip show torch

在这里插入图片描述

选择完正确的torch版本后,会进入下面的界面,一共有4个不同的.whl文件,每一种选一个符合你的版本下载即可

例如:torch_cluster-1.5.9-cp36-cp36m-win_amd64.whl 指的是python为3.6的windows版本

在这里插入图片描述
我的电脑是windows的,前面创建的环境的python版本为3.9.16,所以我下载的四个包如下图所示:

在这里插入图片描述

下载好之后,直接pip install 你的.whl文件地址

下面是我安装时候的命令(仅供参考):

pip install D:\WSKH\Package\Python\pyg\torch_cluster-1.6.0+pt113cu117-cp39-cp39-win_amd64.whl
pip install D:\WSKH\Package\Python\pyg\torch_scatter-2.1.0+pt113cu117-cp39-cp39-win_amd64.whl
pip install D:\WSKH\Package\Python\pyg\torch_sparse-0.6.16+pt113cu117-cp39-cp39-win_amd64.whl
pip install D:\WSKH\Package\Python\pyg\torch_spline_conv-1.2.1+pt113cu117-cp39-cp39-win_amd64.whl

最后,一定要等上面四步完成之后,再执行下面的操作

pip install torch-geometric

在这里插入图片描述
在这里插入图片描述

至此,Pyg 安装完毕!下面进行测试(下面的代码需要安装 networkx 和matplotlib 库,这两个库直接 conda install 安装即可):

conda installl matplotlib
conda install networkx
import os
from torch_geometric.datasets import KarateClub
from torch_geometric.utils import to_networkx
import networkx as nx
import matplotlib.pyplot as plt


# 画图函数
def visualize_graph(G, color):
    plt.figure(figsize=(7, 7))
    plt.xticks([])
    plt.yticks([])
    nx.draw_networkx(G, pos=nx.spring_layout(G, seed=42), with_labels=False,
                     node_color=color, cmap="Set2")
    plt.show()


# 画点函数
def visualize_embedding(h, color, epoch=None, loss=None):
    plt.figure(figsize=(7, 7))
    plt.xticks([])
    plt.yticks([])
    h = h.detach().cpu().numpy
    plt.scatter(h[:, 0], h[:, 1], s=140, c=color, cmap="Set2")
    if epoch is not None and loss is not None:
        plt.xlabel(f'Epoch:{epoch},Loss:{loss.item():.4f}', fontsize=16)
    plt.show()


if __name__ == '__main__':
    # 不加这个可能会报错
    os.environ['KMP_DUPLICATE_LIB_OK'] = 'True'

    dataset = KarateClub()
    print(f'Dataset:{dataset}:')
    print('=' * 30)
    print(f'Number of graphs:{len(dataset)}')
    print(f'Number of features:{dataset.num_features}')
    print(f'Number of classes:{dataset.num_classes}')

    print('=' * 30)
    data = dataset[0]
    # train_mask = [True,False,...] :代表第1个点是有标签的,第2个点是没标签的,方便后面LOSS的计算
    print(data)  # Data(x=[节点数, 特征数], edge_index=[2, 边的条数], y=[节点数], train_mask=[节点数])

    G = to_networkx(data, to_undirected=True)
    visualize_graph(G, color=data.y)

输出:

Dataset:KarateClub():
==============================
Number of graphs:1
Number of features:34
Number of classes:4
==============================
Data(x=[34, 34], edge_index=[2, 156], y=[34], train_mask=[34])

在这里插入图片描述


四、安装 Sklearn

conda install scikit-learn

安装完后,执行 pip show scikit-learn 查看版本

在这里插入图片描述


五、Jupyter 配置

5.1 将虚拟环境加入内核

在 base 环境安装 nb_conda_kernels(这里可以用conda安装,我试了ok)

conda install nb_conda_kernels

进入 dl_pytorch 虚拟环境,安装 ipykernel(注意:这里我是pip安装,网上大部分教程都是conda安装,但是我实际操作下来,每次conda安装完,再conda info、install等都会报错,试了七八次都是这样,所以最后尝试了pip,结果就成功了)

pip install ipykernel

然后启动 jupyter,就能看到 conda 虚拟环境了

在这里插入图片描述

5.2 插件配置

具体操作可以参考博客:

  • 推荐10个好用到爆的Jupyter Notebook插件,让你效率飞起
  • Jupyter Notebook的16个超棒插件!

不过需要注意的是,操作都在 base 环境下进行,并且pip install最好改成 conda install,实在不行再 pip install

5.3 主题、字体、字号配置

参考博客:

  • Jupyter Notebook如何修改主题、字体、字号?分分钟搞定!!!

注意:如果你没有C:\Users\user.jupyter\custom\custom.css文件夹,自己手动创建一个就好。

分享一下我的 custom.css

/* Body */
/* #notebook-container {
    width: 60%
} */

/* Markdown */
div#notebook {
    font-family: san francisco, "PingFangSC-Medium", "Microsoft YaHei";
    line-height: 20px;
    -webkit-font-smoothing: antialiased !important;
}

/* Markdown - h2 */
div#notebook h2 {
    color: #007aff;
}

/* Markdown - quote */
div#notebook blockquote{
    background-color: #f8f8f8;
    color: #505050;
    padding: 8.5px;
    margin: 0.5em -0.5em 0.5em -0.4em;
}

/* Markdown - code in paragraph */
div#notebook p code, div#notebook li code {
    font-family: Consolas, "PingFangSC-Medium", "Microsoft YaHei";
    font-size: 1em !important;
    color: #111111;
    border: 0.5px solid #cfcfcf;
    border-radius: 2px;
    background-color: #f7f7f7;
    padding: .1em .2em;
    margin: 0px 2px;
}

/* Markdown - code */
div.text_cell_render pre {
    border: 1px solid #cfcfcf;
    border-radius: 2px;
    background: #f7f7f7;
    line-height: 1.21429em;
    padding: 8.5px;
    margin: 0.5em -0.5em 0.5em -0.4em;
}
div.text_cell_render code {
    background: #f7f7f7;
}

/* Code */
div.CodeMirror pre {
    font-family: Consolas, "PingFangSC-Medium", "Microsoft YaHei";
    font-size: 11pt;
    line-height: 140%;
    -webkit-font-smoothing: antialiased !important;
}

/*这里修改的是Code里的方字大小*/
pre.CodeMirror-line{
	font-family: Consolas, "PingFangSC-Medium", "Microsoft YaHei" !important;
	font-size: 16px !important;
	line-height: 140%;
 } 

/* Code - output */
div.output pre {
    font-family: Consolas, "PingFangSC-Medium", "Microsoft YaHei";
    line-height: 20px;
    -webkit-font-smoothing: antialiased !important;
}

/* Code - comment */
span.cm-comment {
    font-family: Consolas, "PingFangSC-Medium", "Microsoft YaHei" !important;
    font-style: normal !important;
}



/* Code - highlighting (grade3)*/
.cm-s-ipython .CodeMirror-cursor {
    border-left: 1px solid #ff711a !important;
}
.cm-s-ipython span.cm-comment {
    color: #8d8d8d;
    font-style: italic;
}
.cm-s-ipython span.cm-atom {
    color: #055be0;
}
.cm-s-ipython span.cm-number {
    color: #ff8132;
}
.cm-s-ipython span.cm-property {
    color: #303030;
}
.cm-s-ipython span.cm-attribute {
    color: #303030;
}
.cm-s-ipython span.cm-keyword {
    color: #713bc5;
    font-weight: bold;
}
.cm-s-ipython span.cm-string {
    color: #009e07;
}
.cm-s-ipython span.cm-meta {
    color: #aa22ff;
}
.cm-s-ipython span.cm-operator {
    color: #055be0;
}
.cm-s-ipython span.cm-builtin {
    color: #e22978;
}
.cm-s-ipython span.cm-variable {
    color: #303030;
}
.cm-s-ipython span.cm-variable-2 {
    color: #de143d;
}
.cm-s-ipython span.cm-variable-3 {
    color: #aa22ff;
}
.cm-s-ipython span.cm-def {
    color: #e22978;
    font-weight: bold;
}
.cm-s-ipython span.cm-error {
    background: rgba(191, 97, 106, .40);
}
.cm-s-ipython span.cm-tag {
    color: #e22978;
}
.cm-s-ipython span.cm-link {
    color: #ff8132;
}
.cm-s-ipython span.cm-storage {
    color: #055be0;
}
.cm-s-ipython span.cm-entity {
    color: #e22978;
}
.cm-s-ipython span.cm-quote {
    color: #009e07;
}
div.CodeMirror span.CodeMirror-matchingbracket {
    color: #1c1c1c;
    background-color: rgba(30, 112, 199, .30);
}
div.CodeMirror span.CodeMirror-nonmatchingbracket {
    color: #1c1c1c;
    background: rgba(191, 97, 106, .40) !important;
}
.cm-s-default .cm-hr {
    color: #055be0;
}

最终效果

在这里插入图片描述

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

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

相关文章

里程碑,ChatGPT插件影响几何?

目录插件发布网络浏览器代码解释器平台生态微软魄力总结3月15日OpenAI推出了GPT-4,引起了全球轰动,仅仅过去一周多时间,OpenAI又宣布推出插件功能。如果说ChatGPT是AI的“iPhone时刻”,那么插件就是ChatGPT的“App Store”。超强的…

SpringBoot整合Flink(施耐德PLC物联网信息采集)

SpringBoot整合Flink(施耐德PLC物联网信息采集)Linux环境安装kafka前情:施耐德PLC设备(TM200C16R)设置好信息采集程序,连接局域网,SpringBoot订阅MQTT主题,消息转至kafka&#xff0c…

【chatgpt-01】部署学术神器chatgpt_academic

目录1 chatgpt_academic简介2 前置准备3 项目下载/配置4 安装依赖5 项目配置6 运行7 测试实验性功能1 chatgpt_academic简介 chatgpt_academic是一个科研工作专用ChatGPT拓展,特别优化学术Paper润色体验,支持自定义快捷按钮,支持markdown表格…

Jenkins部署与自动化构建

Jenkins笔记 文章目录Jenkins笔记[toc]一、安装Jenkinsdocker 安装 JenkinsJava启动war包直接安装二、配置mavenGit自动构建jar包三、自动化发布到测试服务器运行超时机制数据流重定向编写清理Shell脚本四、构建触发器1. 生成API token2. Jenkins项目配置触发器3. 远程Git仓库配…

Elasticsearch:配置选项

Elasticsearch 带有大量的设置和配置,甚至可能让专家工程师感到困惑。 尽管它使用约定优于配置范例并且大部分时间使用默认值,但在将应用程序投入生产之前自定义配置是必不可少的。 在这里,我们将介绍属于不同类别的一些属性,并讨…

【风光场景生成】基于改进ISODATA的负荷曲线聚类算法(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。⛳座右铭&#…

《计算机网络-自顶向下》04. 网络层-数据平面

文章目录网络层数据平面和控制平面两者的概述数据平面控制平面控制平面:传统方法控制平面:SDN 方法网络服务模型路由器工作原理通用路由器体系结构输入端口的功能基于目标的转发交换结构内存交换方式总线交换方式纵横式交换方式输出端口的功能何时何处出…

YOLOV8改进:如何增加注意力模块?(以CBAM模块为例)

YOLOV8改进:如何增加注意力模块?(以CBAM模块为例)前言YOLOV8nn文件夹modules.pytask.pymodels文件夹总结前言 因为毕设用到了YOLO,鉴于最近V8刚出,因此考虑将注意力机制加入到v8中。 YOLOV8 代码地址&am…

ChatGPT能代替Oracle DBA吗?用Oracle OCP(1z0-083)的真题测试一下。

让我们来看看ChatGPT不能通过Oracle OCP的考试? 文章目录引言测试过程总结和分析关于博主,姚远:Oracle ACE(Oracle和MySQL数据库方向)。Oracle MAA 大师。华为云MVP。《MySQL 8.0运维与优化》的作者。拥有 Oracle 10g和…

被吐槽 GitHub仓 库太大,直接 600M 瘦身到 6M,这下舒服了

大家好,我是小富~ 前言 忙里偷闲学习了点技术写了点demo代码,打算提交到我那 2000Star 的Github仓库上,居然发现有5个Issues,最近的一条日期已经是2022/8/1了,以前我还真没留意过这些,我这人懒…

Esp8266+阿里云+STM32点灯(三)

1、简介 1、固件库烧录:Esp8266阿里云STM32点灯(一) 2、ESP8266通过电脑与阿里云通讯:Esp8266阿里云STM32点灯(二) 前两部分已经完成ESP8266和阿里云简单通讯,这部分通过STM32单片机通过ESP8…

vue全局使用svg

1、安装依赖 npm install svg-sprite-loader2、配置选项 在vue.config.js的chainWebpack里配置下面代码 解释:config.module.rule是一个方法,用来获取某个对象的规则。.exclude.add(文件a)是往禁用组添加文件a,就是对文…

人民链Baas服务平台上线,中创助力人民数据共建数据服务应用场景

人民链2.0是数据要素大发展时代下的可信联盟链 作为区块链分布式存储领域行业先驱与让人民放心的国家级数据云平台,中创算力与人民数据的合作从未间断。为了推动人民链2.0高质量发展,中创算力与人民数据开展了多方面合作,助力人民数据共建数据…

计算机网络 - 网络通信 (TCP与UDP)

前言 本篇通过了解套接字,TCP与UDP协议的特点,使用UDP的api套接字与TCP的api套接字进行回显程序的网络通信,如有错误,请在评论区指正,让我们一起交流,共同进步! 文章目录前言1. 认识网络通信需…

JVM、JVM中的垃圾回收、类加载、IoC和DI

一、JVM 1、概念 JVM:Java Virtual Machine 的简称,意为 Java虚拟机,可以运行Java代码,是整个Java实现跨平台的最核心的部分;所有的Java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行&…

2022-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ )y)

前言 没想到不知不觉一年时间就这样过去了,又到了一年一度的ISCC信息对抗大赛,不知道去年打比赛的小伙伴今年还能不能再碰到,期待与君再相见( •̀ ω •́ )y 所以今天就把去年的题目再复现一遍供师傅们参考 嘻嘻 目录 misc &#xff08…

2023MathorCup数模B题思路数据代码论文【全网最全分享】

文章目录赛题思路赛题详情参赛建议(个人见解)选择队友及任务分配问题(重要程度:5星)2023MathorCup数模B题思路数据论文代码【最新】赛题思路 (赛题出来以后第一时间在CSDN分享) 最新进度在文章最下方卡片,…

STM-32:I2C外设总线—硬件I2C读写MPU6050

目录一、I2C外设简介二、I2C框图三、I2C基本结构四、主机发送五、主机接收六、I2C的中断请求七、软件/硬件波形对比八、应用实例:硬件I2C读写MPU60508.1接线图8.2程序代码一、I2C外设简介 STM32内部集成了硬件I2C收发电路,可以由硬件自动执行时钟生成、…

Blender安装最新版本

目录1. Blender下载1.1 Blender硬件要求1.2 下载Blender1.3 或者下载LTS版本2. 安装向导2.1 在Windows上安装2.1.1安装msi文件(这里演示案例)2.1.2 点击“Next”2.1.3 勾选,点击“Next”2.1.4 点击“Next”2.1.5 点击“Install”2.1.6 安装进度2.1.7 点击“Finish”…

来了,简单宣告下 Compose for iOS Alpha 正式发布

来了来了,盼星星盼月亮,广大 Compose 开发者期待许久的 Jetpack Compose Multiplatform for iOS 近期终于正式发布了 Alpha 支持,其实在此之前,我在 《一文快速带你了解 KMM 、 Compose 和 Flutter 的现状》 等文章里说了很多次 C…