IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 超详细Pytorch环境配置及CLIP应用实例 -> 正文阅读

[人工智能]超详细Pytorch环境配置及CLIP应用实例

??最近想体验一下OpenAI新发布的基于自然语言和图片的预训练模型-CLIP(不得不感叹一句,真是大力出奇迹啊),遂想搭建一个Pytorch环境,跑一跑实例。本以为几十页的论文是最大的障碍,没想到配置环境才是最令人崩溃的阶段。anaconda反复重装了几个来回,不过最后终于还是在关闭内存爆炸的Chrome的那一刻结束了配置,成功看见了那个True。由于网上很多教程都比较零散,在配置时难免耗费很多精力去搜索,所以在这次配置结束后,我想将这个过程完整地记录下来,方便以后配置也希望能帮助更多和我一样刚开始炼丹的丹师们。

准备

anaconda

??这个比较简单,直接去官网下载安装包,下载完后直接安装,过程中可以选择同时配置环境变量。

CUDA适配

??CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。
??CUDA及cuDNN的选择需要考虑这两者间的适配问题,同时还需要考虑和Pytorch及显卡驱动的适配问题。

  1. 适配显卡驱动
    ??打开电脑的GeForce Experience,可查看当前显卡所使用的驱动。我的驱动版本是471.41
    在这里插入图片描述
    ??确定驱动版本后,去NVIDIA DEVELOPER ZONE查看CUDA Toolkit和驱动的对应表。其实这里高版本驱动对于低版本CUDA的兼容性还是很强的,471.41版本的驱动基本全部的CUDA都能适配。
    在这里插入图片描述
  2. 适配Pytorch
    可以直接去PyTorch查看Pytorch和CUDA的适配信息。这里推荐使用稳定版的Pytorch,毕竟这玩意儿一报错,解决起来的耗时不一定少,说不定还得重装。
    在这里插入图片描述
    这里就直接确定CUDA使用10.2版本的了。下方还提供了直接在环境中使用conda安装的命令,可以一次性安装,不过时间较长,而且使用这个我出现过Jupyter内核启动失败的情况,后面我重新创建虚拟环境的时候就用pip了。
  3. 适配cuDNN
    这个在官网上下载时,直接选择CUDA10.2对应的版本即可。

下载

anaconda:下载
CUDA:下载
在这里插入图片描述
cuDNN:下载 (这个需要注册账号)
Pytorch:下载
在这里插入图片描述
cu102为CUDA10.2,cp36为python3.6
图像训练的话还需要torchvision,也是在这里,找到对应的版本即可。其中还有torchoudio
CLIP:下载(为模型包,非必要),github上的包有两种安装方式,线上和本地安装,这里选择本地安装,线上安装后面也会介绍。

环境配置

换源–磨刀不误砍柴工

conda添加国内源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

显示添加的源

conda config --show channels

pip 换源

pip config set global.index-url https://pypi.douban.com/simple/

创建虚拟环境

??打开Anaconda PowerShell Prompt,conda create -n {name} python={版本},这里使用的是conda creat -n torch1.1 python=3.6。创建成功后,激活虚拟环境。conda activate torch1.1进入虚拟环境。
(其它虚拟环境相关命令:查看环境–conda env list
????????????关闭环境–conda deactivate {name}
????????????删除环境–conda env remove --name {name}

安装

CUDA及cuDNN的安装

??CUDA直接运行cuda的exe文件就行,一般情况下其环境变量也会自动配置。不过其安装位置需要记住。一般是在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2。而后解压cuDNN压缩包,会出现以下三个文件夹
在这里插入图片描述
然后按照CUDA的安装路径(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2)打开,将cuDNN解压的文件中对应文件夹的内容添加进CUDA同名文件夹中即可。
在这里插入图片描述
cuda安装完后可以打开命令窗口,输入nvcc -V,如果输出类似下图,则安装成功。
在这里插入图片描述

torch安装

??在虚拟环境中打开安装包所在目录,直接执行安装目录即可(个人感觉这就是本地安装的好处了,至少不用熬那么久)。

pip install torch-1.1.0-cp36-cp36m-win_amd64.whl
pip install torchvision-0.11.1+cu102-cp36-cp36m-win_amd64.whl

CLIP安装

??(此部分非基础环境所需)
本地下载–解压CLIP包,虚拟环境进入存放文件,进入CLIP-main(有setup.py文件)下,执行

python setup.py install

在线安装—(需要安装git,pip install git

pip install git+https://github.com/openai/CLIP.git

与jupyter建立连接

??在虚拟环境中安装ipykernel包

pip install ipykernel

??查看当前已经连接的环境

jupyter kernelspec list

在这里插入图片描述
其他相关命令:删除连接–jupyter kernelspec remove {name}

测试

??打开jupyter,用浏览器进入网页版notebook,使用所创建的连接创建新文件,
kernel
??如图,我使用torch1.1创建新文件,输入测试代码

import torch
print(torch.__version__)
print(torch.cuda.is_available())

??结果类似下图则配置成功
在这里插入图片描述
??CLIP的测试
??输入OpenAI给的测试实例

import torch
import clip
from PIL import Image
from jupyterthemes import jtplot
jtplot.style()


device = "cuda" if torch.cuda.is_available() else "cpu"
model, preprocess = clip.load("ViT-B/32", device=device)

image = preprocess(Image.open("C:/Users/Administrator/PycharmProjects/pytorchproject/bird.jpg")).unsqueeze(0).to(device)
text = clip.tokenize(["a diagram", "a dog", "a cat","a bird"]).to(device)

with torch.no_grad():
    image_features = model.encode_image(image)
    text_features = model.encode_text(text)

    logits_per_image, logits_per_text = model(image, text)
    probs = logits_per_image.softmax(dim=-1).cpu().numpy()

print("Label probs:", probs)  # prints: [[0.9927937  0.00421068 0.00299572]]

??结果
在这里插入图片描述
在运行实例时需要下载数据集,有可能出现与ipywidgets有关的问题,其原因是此内核的虚拟环境中没有安装这个包,故而需要在此虚拟环境中安装ipywidgets,并将其与jupyter联结。

pip install ipywidgets
jupyter nbextension enable --py widgetsnbextension
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-11-19 17:37:57  更:2021-11-19 17:38:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 4:38:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码