Pytorch(GPU)训练RE-NET知识表示学习模型-记录
个人学习记录 2021.1.27
0 下载模型文件
地址: 保存在文件夹【RE-Net】里,文件如图
1 配置环境
用的是anaconda+pycharm
安装anaconda
安装pycharm
确定版本匹配情况
主要是显卡型号、驱动版本,cuda版本,cudnn版本,Torch版本
查看显卡及驱动
现在用的是win10, 直接在任务管理器中看了
查看/安装cuda
Torch版本匹配
配置pytorch
新建一个Python3.6的conda环境, 首先参考renet项目上的操作:
Run the following commands to create a conda environment (assume CUDA10.1):
conda create -n renet python=3.6 numpy conda activate renet pip install torch==1.6.0+cu101 torchvision==0.7.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html conda install -c dglteam "dgl-cuda10.1<0.5"
检查是否安装成功
安装完成~
训练和测试
参考re-net官方教程:
1、In this code, RE-Net with RGCN aggregator is included. Before running, the user should preprocess datasets.
cd data/DATA_NAME #DATA_NAME是数据集名字 python3 get_history_graph.py
我在终端执行上面语句,没法运行get_history_graph.py,为啥呢? 随后在pycharm里启动,正常运行
2、 We first pretrain the global model.
python3 pretrain.py -d DATA_NAME --gpu 0 --dropout 0.5 --n-hidden 200 --lr 1e-3 --max-epochs 20 --batch-size 1024
在执行之前先切换到模型主目录下 因为在终端依然没反应,在Pycharm里修改参数,运行 ps:突然想到一个问题,我的电脑里有两个显卡,一个集成一个独显,程序跑的时候是用的哪个? 默认识别的是独显吧,因为驱动啥的都是独显的?不懂。 改完参数运行一下,报错,我这里把batchsize改到了8还不行.
RuntimeError: CUDA out of memory. Tried to allocate 372.00 MiB (GPU 0; 4.00 GiB total capacity; 1.94 GiB already allocated; 46.37 MiB free; 2.71 GiB reserved in total by PyTorch)
百度了一圈,最便捷的解决方法貌似是换张好卡,换不了咋办呢?
batchsize改到4,可以啦,但是贼慢,训练一代要125s左右,还好只有20代,可以先跑完。 用任务管理器看了一下GPU利用率,不超过25%(这个专用GPU和共享GPU是啊?)可不可以多利用一下共享内存?