windows安装适配CUDA环境与pytorch环境

windows安装CUDA适配环境与pytorch环境

安装anaconda

这里提供anaconda官网地址,直接下载安装即可

创建虚拟环境

在anaconda里创建新空间(环境)输入下面代码,创建名称为"cv"空间。(这里在anaconda里面创建空间主要是防止与主空间发生冲突,创建了空间相当于有独立空间和其他互不干扰,以后我们的实验都可以在这个空间中进行。当你创建好了空间可以利用activate cv来进入这个空间)

bash 复制代码
conda  create -n cv python=3.8

进入cv空间

复制代码
conda activate cv

cuda 安装

CUDA(Compute Unified Device Architecture)是 NVIDIA 公司推出的并行计算平台和编程模型,用于利用 NVIDIA GPU 的强大计算能力。

查看gpu

复制代码
nvidia-smi

可以看出cuda最高支持的版本可以达到12.9,我们接下来安装12.8版本cuda

查看cuda是否安装

bash 复制代码
nvcc --version

上面输出结果说明cuda并没有安装。

官网下载cuda

这里提供官网下载地址

根据自己的实际情况选择版本进行下载,这里我们下载12.8.1

下载完成后,即可进行安装

一直next下去等待所有步骤完成

完成后,我们再次执行nvcc --version

可以看到我们的cuda已经安装成功了。

配置清华pypi镜像

配置清华pypi镜像,在国内可以加速安装。

bash 复制代码
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

pytorch的安装

访问pytorch官网下载地址

选择好对应的版本,我们的cuda是12.8。

然后将代码在conda虚拟环境中运行,发现报错

我们直接进入到所给的下载地址https://download.pytorch.org/whl/cu128

在里面找到torch和torchvision

在对应的torch页面查找cu128,可以找到下面的匹配版本,将这个版本下载下来。

同样的方法,我们可以找到对应torchvision,将这个版本下载下来。

这里需要下载0.25.0不然可能版本不匹配。

里面的cp310代表是python3.10,没有找到python3.8的版本,所以我们需要将虚拟环境的python版本进行升级到3.10

我们需要将之前的虚拟环境删掉

bash 复制代码
conda env rm cv

重新建立新的3.10虚拟环境cv

bash 复制代码
conda  create -n cv python=3.10

重新进入虚拟环境

bash 复制代码
conda activate cv

跳转到下载目录

bash 复制代码
(cv) C:\Users\hp>cd E:\download\GeminiChrome                                                                                                                                                                                                  
(cv) C:\Users\hp>E:

注意这里用绝对路径后要用E:跳转过去,这和Linux中的方式有很大区别

执行torch包的安装

bash 复制代码
pip install torch-2.10.0+cu128-cp310-cp310-win_amd64.whl

安装常用包

包括matplotlib numpy pandas jupyter opencv-python scikit-learn 这些都是机器学习和深度学习常用的包

bash 复制代码
pip install matplotlib numpy pandas jupyter opencv-python scikit-learn  -i https://pypi.tuna.tsinghua.edu.cn/simple 

修改jupyter的默认路径

bash 复制代码
jupyter notebook --generate-config

此时会在图中的路径中生成一个配置文件,打开此配置文件

找到c.ServerApp.root_dir这个配置选项,并且在后面添加你自定义的默认路径,保存即可。注意这里是在这个配置下面另起了一行。不能在上面直接填写,因为被注释掉了。

验证cuda是否可用

bash 复制代码
import torch, platform

print("=" * 50)
print(f"系统: {platform.system()} {platform.version()}")
print(f"Python: {platform.python_version()}")
print("=" * 50)

print(f"\nPyTorch: {torch.__version__}")
print(f"CUDA可用: {torch.cuda.is_available()}")

if torch.cuda.is_available():
    print(f"\nGPU数量: {torch.cuda.device_count()}")
    for i in range(torch.cuda.device_count()):
        prop = torch.cuda.get_device_properties(i)
        print(f"\nGPU{i}: {prop.name}")
        print(f"  架构: sm_{prop.major}{prop.minor}")
        print(f"  显存: {prop.total_memory / 1e9:.1f} GB")
        print(f"  多处理器: {prop.multi_processor_count}")
    
    print(f"\nCUDA版本: {torch.version.cuda}")
    print(f"cuDNN版本: {torch.backends.cudnn.version()}")
else:
    print("\nCUDA不可用,请检查:")
    print("1. NVIDIA显卡及驱动")
    print("2. CUDA工具包")
    print("3. PyTorch与CUDA版本匹配")

print("\n" + "=" * 50)
print("GPU测试:")
if torch.cuda.is_available():
    try:
        a = torch.randn(1000, 1000, device='cuda')
        b = torch.randn(1000, 1000, device='cuda')
        c = torch.matmul(a, b)
        print("✓ 矩阵乘法通过")
        
        if torch.cuda.get_device_properties(0).major >= 5:
            a_half = torch.randn(1000, 1000, device='cuda', dtype=torch.float16)
            b_half = torch.randn(1000, 1000, device='cuda', dtype=torch.float16)
            torch.matmul(a_half, b_half)
            print("✓ 半精度计算通过")
        
        large = torch.randn(1000, 1000, 100, device='cuda')
        del large
        torch.cuda.empty_cache()
        print("✓ 内存分配通过")
        
        print(f"\n当前设备: {torch.cuda.get_device_name()}")
    except Exception as e:
        print(f"✗ 测试失败: {e}")
else:
    print("跳过测试")

如果成功会看到类似下面的输出

备忘

整体配置下来你需要下载,下面的包到自己的电脑,然后进行配置

相关推荐
Olafur_zbj2 分钟前
【AI】CUDA的新编程模型:tile编程模型 的好处
人工智能
Linguwen34 分钟前
外贸GEO01|GEO是什么?生成式引擎优化,AI时代的新流量密码
人工智能
物质波波波40 分钟前
WS-RPE:面向边缘物理AI实时特征值计算的硬件工作窃取调度器与冗余PE激活架构
人工智能·fpga开发·架构·系统架构·硬件架构
起个名字好难啊这也被占用了44 分钟前
LangGraphjs可中断可恢复的AI工作流
人工智能·ai编程
@Mr_LiuYang1 小时前
状态栏动态上下文信息追加到Agent --《深入理解 AI Agent :设计原理与工程实践》实验2-8
人工智能·大模型·动态上下文·状态栏信息追加
碳基猿1 小时前
新媒体运营的终局:从“内容创作”走向“运营系统竞争”
人工智能·新媒体运营·产品运营·新媒体矩阵·多账号管理·矩阵分发·矩阵运营方法论
阿里云大数据AI技术1 小时前
阿里云 EMR Daft AI Function:用 DataFrame 表达式搞定大模型调用与多模态向量化
人工智能·spark
jerryinwuhan1 小时前
鱼苗投放检测系统设计
人工智能
阿里云大数据AI技术2 小时前
官宣|Apache Fluss 毕业成为顶级项目,湖流一体开启 Agentic Lake 全面实时化时代
人工智能·flink