📜  colab cuda 版本 - Python (1)

📅  最后修改于: 2023-12-03 15:14:12.341000             🧑  作者: Mango

Colab CUDA 版本 - Python

Colab是Google提供的一个免费的云端Jupyter Notebook开发环境,支持Python和多种机器学习库及GPU加速。Colab中的环境包含了多个版本的CUDA及cuDNN,开发者可以据此自由选择GPU加速的方式。本文将介绍在Colab中如何查看CUDA版本及使用CUDA进行深度学习加速。

查看CUDA版本

在Colab中,我们可以使用以下代码查看当前环境中CUDA和cuDNN的版本:

!/usr/local/cuda/bin/nvcc --version
!cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

输出示例:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243

#define CUDNN_MAJOR 7
#define CUDNN_MINOR 6
#define CUDNN_PATCHLEVEL 5

可以看到当前环境的CUDA版本为10.1,cuDNN版本为7.6.5。

使用CUDA进行深度学习加速

在Colab中,我们可以通过以下步骤启用GPU加速:

  1. 进入菜单栏: Runtime -> Change runtime type
  2. 在弹出的对话框中,选择Hardware accelerator为GPU
  3. 点按Save即可

下面是一段使用Tensorflow库进行深度学习加速的示例代码:

# 导入Tensorflow库
import tensorflow as tf

# 检查GPU是否可用
print(tf.test.is_gpu_available())

# 定义网络结构
model = tf.keras.Sequential([
    tf.keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
    tf.keras.layers.MaxPooling2D(pool_size=(2, 2)),
    tf.keras.layers.Flatten(),
    tf.keras.layers.Dense(10, activation='softmax')
])

# 编译模型
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

# 训练模型
(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()
x_train = x_train.reshape(x_train.shape[0], 28, 28, 1)
x_test = x_test.reshape(x_test.shape[0], 28, 28, 1)
model.fit(x_train, y_train, epochs=5)

# 评估模型
model.evaluate(x_test, y_test, verbose=2)

当代码运行时,我们可以使用以下代码查看GPU使用情况:

!nvidia-smi

输出示例:

Sun Jul 04 10:13:19 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.32.03    Driver Version: 460.32.03    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla T4            Off  | 00000000:00:04.0 Off |                    0 |
| N/A   67C    P0    30W /  70W |   4685MiB / 15109MiB |     27%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  Tesla T4            Off  | 00000000:00:05.0 Off |                    0 |
| N/A   63C    P0    27W /  70W |   3217MiB / 15109MiB |     32%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   2  Tesla T4            Off  | 00000000:00:06.0 Off |                    0 |
| N/A   67C    P0    31W /  70W |   3216MiB / 15109MiB |     26%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   3  Tesla T4            Off  | 00000000:00:07.0 Off |                    0 |
| N/A   61C    P0    26W /  70W |   3216MiB / 15109MiB |     32%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

可以看到当前环境中4块Tesla T4显卡被成功地使用。

本文介绍了如何查看Colab中的CUDA版本及使用CUDA进行深度学习加速。开发人员可以根据需要配置Colab环境,以达到最大的加速效果。