Trong các framework Học sâu phổ biến nhất, ngoài Caffe người dùng còn có các lựa chọn khác như Theano, Torch7 hoặc TensorFlow... (xem Hình 3.4). Mỗi framework đều hỗ trợ rất mạnh mẽ trong việc huấn luyện các mô hình nhận dạng trong Học sâu, cũng như có các điểm mạnh riêng phù hợp với các mục đích sử dụng khác nhau. Theano [22] là một trong các framework Học sâu ra đời sớm nhất, là giải pháp tốt cho những người dùng muốn lập trình lại toàn bộ thuật toán, hoặc tinh chỉnh riêng một vài thành phần tối ưu tính toán để giải quyết cho các vấn đề riêng biệt. Theano đặc biệt phù hợp với các bài toán hoặc các hệ thống không có sự cài đặt, triển khai mạng huấn luyện theo một tiêu chuẩn cụ thể nào. Với framework Torch7 [23], đây cũng là một framework ở mức cấp thấp (low-level) gần giống với Theano nhưng có cung cấp thêm một số thuật toán và logic cơ bản giúp người dùng giảm bớt việc lập trình toàn bộ thuật toán từ đầu.
Sau quá trình tìm hiểu và so sánh các framework phổ biến, tôi đã quyết định chọn Caffe làm công cụ cài đặt triển khai ứng dụng bởi một số ưu điểm nổi trội của nó đối với bài toán nhận dạng ảnh: Caffe là framework rất mạnh về xử lý ảnh, cho phép người dùng dễ dàng tinh chỉnh mô hình mạng đã được huấn luyện trước cũng như thực hiện các bước huấn luyện mà không cần quá trình lập trình phức tạp.
3.3.2. Cấu hình mạng huấn luyện AlexNet
Các mô hình huấn luyện và các phép tinh chỉnh của mạng AlexNet nói riêng và mạng CNN nói chung đều được framework Caffe thể hiện bằng cấu trúc văn bản thuần, nhằm tạo ra sự minh bạch rõ ràng khi định nghĩa các phép biến đổi ảnh hay các lớp trong mô hình và sự dễ dàng khi triển khai hoặc chuyển giao một mô hình huấn luyện. Ta có thể tham khảo một vài ví dụ về cách thức định nghĩa một lớp trong mạng huấn luyện CNN như lớp dữ liệu đầu vào hay lớp tích chập Tích chập như trong Hình 3.5: