赞
踩
假设你已经安装了Anaconda3(最新Anaconda3的安装配置及使用教程(详细过程))
假设你已经配置好了cuda和cudann环境(pytorch gpu版本的最全安装教程,含环境配置、CUDA(百度云下载)安装程序失败解决方案)
在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总是不可用,用轮子安装一次成功!):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()
如果显示和上图一样,那么你也大功告成了!
注意: 千万不要直接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])
conda install scikit-learn
安装完后,执行 pip show scikit-learn
查看版本
在 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 虚拟环境了
具体操作可以参考博客:
不过需要注意的是,操作都在 base 环境下进行,并且pip install最好改成 conda install,实在不行再 pip install
参考博客:
注意:如果你没有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; }
最终效果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。