我有一个使用 TensorFlow 版本 1.15 编写的用于图像到图像转换任务的代码,我想在 Google Colab 环境中运行它,该环境当前默认安装了 Python 3.10.12。
由于我的源代码的依赖项,我必须使用 TensorFlow 版本 1.15,这就是为什么我使用了与此版本的 TensorFlow 匹配的其他依赖项。
首先,我使用以下命令在 Google Colab 上安装 Python 2.7 版本:
!apt-get install python2
之后,我检查已安装的Python版本:
!python2 --version
我得到:Python 2.7.18
接下来,我连接到 Google Drive 并引用我的源代码所在的路径(main.py、util.py、model.py 和 ops.py):
from google.colab import drive
drive.mount('/content/drive')
%cd /content/drive/MyDrive/TFCode/
然后要安装必要的软件包,首先我使用以下命令安装 pip:
!curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
!python2 get-pip.py
然后:
!python2 -m pip install six
!python2 -m pip install scipy
!python2 -m pip install imageio==2.4.1
!apt-get install build-essential
!python2 -m pip install grpcio==1.26.0
!python2 -m pip install tensorflow-gpu==1.15
!python2 -m pip install opencv-python==3.4.8.29
!python2 -m pip install scikit-image==0.14.5
最后,我使用
!python2 main.py
运行我的源代码,尽管代码运行成功,但需要很长时间才能完成任务,因为我的代码没有在 GPU 上运行,我知道这一点是因为里面有以下代码块我的main.py文件:
if tf.test.gpu_device_name():
print('Default GPU Device: {}'.format(tf.test.gpu_device_name()))
else:
print("Please install GPU version of TF")
在我的结果中,我看到“请安装 TF 的 GPU 版本”字符串输出,这意味着无法检测到 GPU,但是当我直接在 Colab 中运行如下代码时:
import tensorflow as tf
if tf.test.gpu_device_name():
print('Default GPU Device: {}'.format(tf.test.gpu_device_name()))
else:
print("Please install GPU version of TF")
我得到这个:默认 GPU 设备:/device:GPU:0 这意味着它找到了 GPU,但由于此代码直接在 Colab 环境中运行,我知道它使用 Python 3.10.12 和 TensorFlow 版本 2。
如何使用 GPU 运行我自己的源代码?
不一定要使用 2.7 版本的 Python,但必须使用 1.15 版本的 TensorFlow,并且其他依赖项必须与该版本的 TensorFlow 匹配。
注意:TensorFlow GPU 1.15 与 Python 3.9-3.11 兼容。 TensorFlow 1.15(2020 年 1 月)不再列出。
不一定要使用Python 2.7版本
由于 TensorFlow 1.15 与 Python 3.7 兼容,因此您尝试使用 Python 3.7 创建虚拟环境,避免与 Python 2 出现任何兼容性问题:
!sudo apt-get install python3.7
!python3.7 -m venv tf15env
激活虚拟环境:
!source /content/tf15env/bin/activate
并在虚拟环境中安装 TensorFlow 1.15 和其他依赖项:
!pip install tensorflow-gpu==1.15
!pip install six scipy imageio==2.4.1 grpcio==1.26.0 opencv-python==3.4.8.29 scikit-image==0.14.5
运行此脚本以确保 TensorFlow 正在使用 GPU:
import tensorflow as tf
if tf.test.gpu_device_name():
print('Default GPU Device: {}'.format(tf.test.gpu_device_name()))
else:
print("Please install GPU version of TF")
环境搭建完成后,您就可以在这个虚拟环境中运行您的代码(
main.py
、util.py
、model.py
、ops.py
)。
另请参阅 Siladittya Manna 中的“更改 Google Colab 上的 Python 版本”,了解更改 Google Colab 上的 Python 版本的替代方法。