Tôi làm việc trong một môi trường trong đó các tài nguyên tính toán được chia sẻ, tức là chúng tôi có một vài máy chủ được trang bị một vài GPU Nvidia Titan X mỗi cái.
Đối với các mô hình kích thước nhỏ đến trung bình, 12 GB của Titan X thường đủ để 2 người 3 chạy 3 đào tạo đồng thời trên cùng một GPU. Nếu các mô hình đủ nhỏ để một mô hình duy nhất không tận dụng được tất cả các đơn vị tính toán của GPU, thì điều này thực sự có thể dẫn đến tăng tốc so với chạy một quá trình đào tạo sau một quá trình đào tạo khác. Ngay cả trong trường hợp truy cập đồng thời vào GPU làm chậm thời gian đào tạo cá nhân, vẫn rất tốt để có sự linh hoạt khi có nhiều người dùng đồng thời đào tạo trên GPU.
Vấn đề với TensorFlow là theo mặc định, nó phân bổ toàn bộ lượng bộ nhớ GPU có sẵn khi nó được khởi chạy. Ngay cả đối với một mạng thần kinh hai lớp nhỏ, tôi thấy rằng tất cả 12 GB bộ nhớ GPU đã được sử dụng hết.
Có cách nào để làm cho TensorFlow chỉ phân bổ, giả sử, bộ nhớ GPU 4 GB, nếu ai đó biết rằng điều này là đủ cho một mô hình nhất định?