如何使用 chainer 在 google colab 上从 CPU 切换到 GPU?
How do I switch from CPU to GPU on google colab using chainer?
我遵循了 Chainer 文档上的说明,这导致我在 运行 我的代码时出错:
RuntimeErrorTraceback (most recent call last)
<ipython-input-9-ffb21f9880f0> in <module>()
...
6 model = Classifier(CompetitionNetwork(n_units = 64))
----> 7 model.to_gpu()
...
RuntimeError: CUDA environment is not correctly set up
(see https://github.com/chainer/chainer#installation).No module named cupy
然后我尝试以多种不同的方式安装 cupy,
其中之一是
!apt -y install libcusparse8.0 libnvrtc8.0 libnvtoolsext1
!ln -snf /usr/lib/x86_64-linux-gnu/libnvrtc-builtins.so.8.0 /usr/lib/x86_64-linux-gnu/libnvrtc-builtins.so
!pip install cupy-cuda80 chainer
在导入 cupy 之后一直给我同样的错误,然后 运行 我的代码:
RuntimeError: CUDA environment is not correctly set up (see
https://github.com/chainer/chainer#installation).No module named cupy
接下来我尝试使用这个安装 cuda:
!wget https://developer.nvidia.com/compute/cuda/9.2/Prod/local_installers/cuda-repo-ubuntu1604-9-2-local_9.2.88-1_amd64 -O cuda-repo-ubuntu1604-9-2-local_9.2.88-1_amd64.deb
!dpkg -i cuda-repo-ubuntu1604-9-2-local_9.2.88-1_amd64.deb
!apt-key add /var/cuda-repo-<version>/7fa2af80.pub
!apt-get update
!apt-get install cuda
这花了很长时间,似乎可行,但最后还是给我同样的错误。
似乎在Google Colab 的GPU 上使用Chainer 非常困难,除非我做错了什么。使用 Tensorflow 就容易多了。有人有在 Google 的 GPU 上使用 Chainer 的经验吗?
您可能想看看这个 Chainer 示例。
https://colab.research.google.com/drive/1SsxHvQdSz23kaVov8yKizVD3_2tkXdZM
如果您在 Google Colab 环境中遇到问题,
- 首先尝试从运行时菜单中选择 "Restart runtime..." 重新启动运行时。
如果不能解决问题,运行下面的代码销毁并重新创建容器(注意:你会丢失在容器上创建的文件),这样你可以从干净的状态重新开始。 运行执行命令后,您可能需要等待一分钟,然后刷新浏览器以重新加载笔记本。
!kill -9 -1
您安装Chainer/CuPy的安装步骤是正确的。
https://github.com/kmaehashi/chainer-colab
您不必手动安装 CUDA 工具包; Colab容器默认提供。
我检查了 python2 上的 chainer 是否适用于 google-colab。
https://colab.research.google.com/gist/fiarabbit/a44a8b3ff25afc78849c62c2f75b25dd
我确认 chainer w/ python2 在 google-colab 上工作。
重点是您不需要像 kmaehashi 给出的 mnist-example 那样通过 wget 安装 cupy。
此外,不要忘记打开 GPU。
我遵循了 Chainer 文档上的说明,这导致我在 运行 我的代码时出错:
RuntimeErrorTraceback (most recent call last)
<ipython-input-9-ffb21f9880f0> in <module>()
...
6 model = Classifier(CompetitionNetwork(n_units = 64))
----> 7 model.to_gpu()
...
RuntimeError: CUDA environment is not correctly set up
(see https://github.com/chainer/chainer#installation).No module named cupy
然后我尝试以多种不同的方式安装 cupy, 其中之一是
!apt -y install libcusparse8.0 libnvrtc8.0 libnvtoolsext1
!ln -snf /usr/lib/x86_64-linux-gnu/libnvrtc-builtins.so.8.0 /usr/lib/x86_64-linux-gnu/libnvrtc-builtins.so
!pip install cupy-cuda80 chainer
在导入 cupy 之后一直给我同样的错误,然后 运行 我的代码:
RuntimeError: CUDA environment is not correctly set up (see
https://github.com/chainer/chainer#installation).No module named cupy
接下来我尝试使用这个安装 cuda:
!wget https://developer.nvidia.com/compute/cuda/9.2/Prod/local_installers/cuda-repo-ubuntu1604-9-2-local_9.2.88-1_amd64 -O cuda-repo-ubuntu1604-9-2-local_9.2.88-1_amd64.deb
!dpkg -i cuda-repo-ubuntu1604-9-2-local_9.2.88-1_amd64.deb
!apt-key add /var/cuda-repo-<version>/7fa2af80.pub
!apt-get update
!apt-get install cuda
这花了很长时间,似乎可行,但最后还是给我同样的错误。
似乎在Google Colab 的GPU 上使用Chainer 非常困难,除非我做错了什么。使用 Tensorflow 就容易多了。有人有在 Google 的 GPU 上使用 Chainer 的经验吗?
您可能想看看这个 Chainer 示例。
https://colab.research.google.com/drive/1SsxHvQdSz23kaVov8yKizVD3_2tkXdZM
如果您在 Google Colab 环境中遇到问题,
- 首先尝试从运行时菜单中选择 "Restart runtime..." 重新启动运行时。
如果不能解决问题,运行下面的代码销毁并重新创建容器(注意:你会丢失在容器上创建的文件),这样你可以从干净的状态重新开始。 运行执行命令后,您可能需要等待一分钟,然后刷新浏览器以重新加载笔记本。
!kill -9 -1
您安装Chainer/CuPy的安装步骤是正确的。 https://github.com/kmaehashi/chainer-colab
您不必手动安装 CUDA 工具包; Colab容器默认提供。
我检查了 python2 上的 chainer 是否适用于 google-colab。
https://colab.research.google.com/gist/fiarabbit/a44a8b3ff25afc78849c62c2f75b25dd
我确认 chainer w/ python2 在 google-colab 上工作。
重点是您不需要像 kmaehashi 给出的 mnist-example 那样通过 wget 安装 cupy。
此外,不要忘记打开 GPU。