Mở Đầu
Docker trên WSL2 (Windows Subsystem for Linux) là giải pháp lý tưởng để tránh các vấn đề tương thích khi chạy ứng dụng trên Windows, đặc biệt là khi bạn muốn sử dụng sức mạnh của card đồ họa hỗ trợ NVIDIA CUDA để tăng tốc quá trình huấn luyện các mô hình TensorFlow.
“Docker là công cụ thuận tiện nhất để chạy TensorFlow GPU, vì mọi thứ chỉ cần bạn cài đặt trình điều khiển NVIDIA®.”
nguồn: Tensorflow GPU Support
Việc sử dụng Docker giúp bạn dễ dàng cài đặt và chạy các mô hình TensorFlow và Keras trên máy tính cá nhân, đặc biệt là đối với những ai đang làm việc trên hệ điều hành Windows có GPU NVIDIA. Dưới đây là hướng dẫn chi tiết về cách thiết lập để bạn có thể nhanh chóng bắt đầu.
Yêu Cầu Hệ Thống
Để tiến hành cài đặt TensorFlow GPU trên Windows, bạn cần đảm bảo đáp ứng các yêu cầu sau:
- Windows 10 phiên bản 19044 (hay còn gọi là 21H2) trở lên.
- Card GPU hỗ trợ CUDA – Kiểm tra xem GPU NVIDIA của bạn có hỗ trợ CUDA hay không tại trang web chính thức của NVIDIA.
Cài đặt TensorFlow GPU trên Windows có thể khá phức tạp vì cần phải cân nhắc đến các yếu tố như:
- Phiên bản tensorflow-gpu và sự tương thích với các phiên bản khác.
- Cài đặt CUDA Toolkit và CUDNN tương thích với phiên bản TensorFlow hiện đang sử dụng.
Thiết Lập Docker Và WSL2 Trên Windows
Để cài đặt Docker Desktop và WSL2, bạn có thể tham khảo hướng dẫn cài đặt trên trang chính thức của Docker Docs để có thể thiết lập mọi thứ một cách dễ dàng và nhanh chóng.
Thiết Lập NVIDIA CUDA GPU Trong Docker
Dưới đây là cách thiết lập NVIDIA CUDA trong Docker:
-
Sử dụng dòng lệnh sau trong Powershell hoặc CMD Windows để tải xuống image CUDA:
docker pull nvidia/cuda:12.2.2-devel-ubuntu22.04
-
Sau khi tải xong, xác minh việc cài đặt GPU bằng lệnh:
docker run --rm --gpus all nvidia/cuda:12.2.2-devel-ubuntu22.04 nvidia-smi
Kết quả trả về cho thấy thông tin về card đồ họa của bạn, chẳng hạn như có card GTX 1650 Ti.
Cài Đặt TensorFlow Jupyter Notebooks Trong Docker
Bây giờ chúng ta sẽ cài đặt và kiểm tra TensorFlow:
-
Tải về image TensorFlow với lệnh sau (phiên bản sử dụng là
tensorflow/tensorflow:2.14.0-gpu-jupyter
):docker pull tensorflow/tensorflow:2.14.0-gpu-jupyter
-
Khởi động container TensorFlow với lệnh:
docker run --name my_tensorflow -it --gpus all tensorflow/tensorflow:2.14.0-gpu-jupyter bash
-
Kiểm tra GPU và TensorFlow:
nvidia-smi
python3 -c "import tensorflow as tf; print('TensorFlow Version:', tf.__version__); print(tf.config.list_physical_devices('GPU'))"
Nếu thành công, bạn sẽ thấy thông tin về phiên bản TensorFlow đang hoạt động và các GPU có sẵn.
Sử Dụng Docker-Compose Để Chạy TensorFlow
Chúng ta cũng có thể sử dụng Docker-Compose để chạy TensorFlow và Jupyter Lab. Thực hiện các bước sau:
-
Clone repository mẫu:
git clone https://github.com/vinhphan812/tensorflow-gpu-docker
-
Chuyển vào thư mục vừa tạo:
cd tensorflow-gpu-docker
-
Sao chép và đổi tên tập tin
sample.env
thành.env
. -
Chạy bằng Docker Compose với lệnh:
docker compose up -d
-
Kiểm tra tab Nhật ký trong ứng dụng Docker Desktop.
-
Truy cập vào Jupyter Notebooks qua địa chỉ http://127.0.0.1:8888/lab?token=... để làm việc với các tài liệu cao cấp.
Ngoài việc sử dụng Jupyter trên trình duyệt, bạn cũng có thể sử dụng các IDE như Visual Studio Code hoặc Pycharm để kết nối với Jupyter Notebooks.
Tóm Lại
Docker kết hợp với WSL2 là giải pháp tuyệt vời để chạy TensorFlow với khả năng tăng tốc GPU trên máy tính Windows. Nhờ vào phương pháp này, bạn sẽ dễ dàng quản lý các phụ thuộc và tránh được những vấn đề tương thích phức tạp. Điều này giúp đảm bảo tính nhất quán trong việc tái tạo kết quả trên nhiều hệ thống khác nhau. Nếu bạn đang sở hữu một chiếc máy tính Windows có GPU tương thích CUDA, tôi khuyên bạn hãy thử thiết lập này để khám phá những tiềm năng tuyệt vời trong lĩnh vực AI.
Hy vọng rằng bạn sẽ tìm thấy những thông tin hữu ích từ bài viết này và sử dụng thành công các hướng dẫn để xây dựng các mô hình AI xuất sắc và giải pháp thực tiễn.
source: viblo