跑maac的一些问题记录
环境安装
主要按照作者给出的各个版本安装。项目的地址在https://github.com/shariqiqbal2810/MAAC
自己的硬件环境是2070s,系统用的win10。之前几次不成功的尝试可以看出Linux和win下应该都可以去做。
创建虚拟环境
conda create -n name python=3.6
激活环境:
activate maac
安装openAI baselines
使用推荐的版本。
baselines-98257ef8c9bd23a24a330731ae54ed086d9ce4a7 (去GitHub找对应的提交版本下载)
到baselines 文件夹下 使用如下命令安装
pip install -e .
安装MPE环境(有问题,先不装这个)
同样使用作者提供的环境。下载后与上面的baseline的安装相同,进入到对应文件夹下,使用如下命令安装
pip install -e .
安装pytorch
同样建议安装作者的版本,但是觉得高上一两的版本应该也没什么事。所以就按照pytorch官网提供的命令安装了0.4.1的版本。
用如上命令安装
conda install pytorch=0.4.1 cuda90
这里把 -c pytorch 去掉,因为好像用的是conda的源,速度奇慢,去掉后使用是更改后的源。
推荐更改成清华,阿里等其他的国内源。可以使用如下命令
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
安装gym
pip install gym==0.9.4
安装tensorboard 和 tensorboard-pytorch
没有找到0.4.0rc0这个版本,可能同样是因为镜像的原因。先按照给出的提示,装一个最低的版本试试。 因为之前改的是conda的源,在使用pip安装时同样会很慢,所以这里使用了个临时的清华源安装,会快很多。如果改pip的源,还要添加文件,嫌麻烦,先不弄了。
pip install tensorboard==1.6.0rc0 -i https://pypi.tuna.tsinghua.edu.cn/simple
安装tensorboard-pytorch
pip install tensorboardX==1.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
在安装tensorboard之前,应该有tensorflow才对,如果没有的话,需要先安装。而且版本应该对应的比较好,瞎装了一个,没什么问题,就先用着。
先实验无GPU的情况
出现如下错误
说是函数的问题,可以看到前面的路径都是tensorboardX下的问题,说明版本可能有问题。直接更新到最先版本,不在报错。
pip install --upgrade tensorbardX -i https://pypi.tuna.tsinghua.edu.cn/simple
能够正常训练,有些其他的小警告,应该也是版本的问题,既然可以运行,就先用着。
cuda 和 cudnn(主要问题都出在这里)
这块显卡自从买来就没转过…。要让它出来溜溜啊。
同样是在conda虚拟环境下进行。
使用如下命令
nvcc -V
可以看到
这个是有cuda的。这个应该是之前自己装显卡时,就已经都配置好的。
训练试试
python main.py multi_speaker_listener models --use_gpu
可以看到根本就不动啊。第一张图那里可以看到GPU中是有程序的进程的,可是好像根本就没用到GPU的算力。
可能的原因
上面的cuda 只是整个系统中的cuda的,而之前安装torch时,明明装的是cuda90。 用 conda list 查看下安装有哪些。
是有cuda90这个东西的。
cmd下进入python
python
import python
print(torch.version.cuda)
也显示9.0是没错的。
其他命令
也都是可以的。
在对应看下cudnn的问题。之前是在pytorch官网直接用的命令安装的torch,之后确实没有装过cudnn。
大部分说安装cudnn的方法是将其下载的文件粘贴到cuda下。如果cuda是在conda下安装的呢
未完待续 望指导!!!!!
实验
实验的话,直接输入命令就行。提前现在main.py的同层目录下建立一个文件夹,用来存储模型。
python main.py multi_speaker_listener models --use_gpu
使用 python main.py --help 可以查看对应的命令。添加对应的参数。
总结
出现的问题有几类,分别是(1)版本不匹配问题,因为这个项目比较老了,所以很多环境的版本如果不匹配会爆出很多错误。2()其次是网络问题,这个主要通过改源的方法实现。源的话,conda和pip下的不是一回事。(3)同理,在安装不同的包时,有使用conda install 也有pip install 的,这样某些时候也可能会出现些莫名其妙的错误,不过几率小一些。