Tensorflow - cài đặt trên Docker
Note: This post is over 11 years old. The information may be outdated.
Docker luôn là giải pháp đóng gói và triển khai các ứng dụng 1 cách nhanh chóng và an toàn. Sau mình xin hướng dẫn các cài đặt Tensorflow trong môi trường container của Docker.
Cài đặt Docker
Mình sử dụng Ubuntu 15.10, bạn có thể xem cách cài đặt Docker cho từng loại hệ điều hành tren trang của Docker: https://docs.docker.com/engine/install/ubuntu/
Launch a Docker
Google/TensorFlow cung cấp các bản Docker của Tensorflow trên Docker Hub:
tensorflow/tensorflow:latest: TensorFlow CPU binary image (Python 3).tensorflow/tensorflow:latest-devel: CPU Binary image plus source code.tensorflow/tensorflow:latest-gpu: TensorFlow GPU binary image (requires NVIDIA Docker).tensorflow/tensorflow:latest-devel-gpu: GPU Binary image plus source code.
Lựa chọn bản Docker phù hợp với nhu cầu sử dụng.
Sau khi cài đặt và khởi động Docker container. Chạy lệnh sau để tự động cài đặt môi trường Tensorflow:
$ docker run -it tensorflow/tensorflow:latest
Để chạy Jupyter notebook từ trong container, thêm port mapping:
$ docker run -it -p 8888:8888 tensorflow/tensorflow:latest
Nếu sử dụng Tensorflow có hỗ trợ GPU, cần phải cài đặt NVIDIA Docker runtime trước. Sau đó, chạy lệnh sau:
$ docker run -it --gpus all tensorflow/tensorflow:latest-gpu
Lưu ý: GPU support yêu cầu:
- NVIDIA Docker runtime được cài đặt
- NVIDIA GPU driver tương thích
- CUDA toolkit tương ứng với phiên bản TensorFlow
Kiểm tra cài đặt
Vui lòng xem phần kiểm tra cài đặt trong bài viết sau.
Cập nhật cho 2025: Các phương pháp hiện đại
Bài viết này được viết năm 2016. Dưới đây là những cập nhật quan trọng để sử dụng TensorFlow trên Docker trong 2025:
TensorFlow 2.x vs 1.x
- Bài viết gốc sử dụng TensorFlow 0.6.0 (rất cũ)
- TensorFlow 2.x đã là tiêu chuẩn kể từ 2019
- API đã thay đổi đáng kể, hãy sử dụng tài liệu tại tensorflow.org
Docker Compose cho setup phức tạp
Thay vì chạy Docker commands trực tiếp, sử dụng Docker Compose cho các project lớn:
version: '3.8'
services:
tensorflow:
image: tensorflow/tensorflow:latest
ports:
- '8888:8888' # Jupyter notebook
volumes:
- ./data:/workspace/data
- ./notebooks:/workspace/notebooks
working_dir: /workspace
Python phiên bản
- TensorFlow 2.x yêu cầu Python 3.8+
- Python 2.7 không còn được hỗ trợ
Lựa chọn thay thế
- JAX: Framework ML hiện đại hơn, cũng hỗ trợ Docker
- PyTorch: Có ecosystem Docker mạnh mẽ
- Kubernetes: Dành cho scale lớn thay vì Docker đơn lẻ
Tài liệu chính thức TensorFlow Docker: https://hub.docker.com/r/tensorflow/tensorflow
Related Posts
Phân lớp văn bản
Trong Machine Learning và NLP, phân lớp văn bản là một bài toán xử lí văn bản cổ điển, gán các nhãn phân loại lên một văn bản mới dựa trên mức độ tương tự của văn bản đó so với các văn bản đã được gán nhãn trong tập huấn luyện.
Tensorflow - hướng dẫn cài đặt
Cài đặt Tensorflow
Deep Learning là gì?
Thế giới đã chứng kiến sự phát triển vượt bậc sau khi con người phát minh ra các công nghệ: động cơ hơi nước, điện, máy vi tính, internet. Công nghệ tiếp theo sẽ có sự tác động mạnh mẽ như vậy chính là trí thông minh nhân tạo (Artificial Intelligence - AI)
TL;DR - Random Forest thay vì Neural Network
Cả Random Forest và Neural Networks đều là những kỹ thuật khác nhau nhưng có thể sử dụng chung ở một số lĩnh vực. Vậy khi nào sử dụng 1 kỹ thuật thay vì cái còn lại?