Huấn luyện mơ hình đã chọn trên tập dữ liệu

Một phần của tài liệu Phân loại phong cách thiết kế nội thất dùng học sâu và ứng dụng thực tế đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin (Trang 99 - 103)

CHƯƠNG 4 THỰC NGHIỆM VÀ KẾT QUẢ

4.3. Quy trình thực nghiệm lần 1

4.3.4. Huấn luyện mơ hình đã chọn trên tập dữ liệu

4.3.4.1. Mơ hình SOTAs cung cấp bởi Keras.

Khi muốn gọi mơ hình để sử dụng ta sử dụng thư viện của Keras trên python. Và gọi bằng cú pháp: tf.keras.applications.<tên mơ hình>(<các tham số tùy chọn>).

Trong đó <các tham số tùy chọn> có các tham số chung như:

include_top: kiểu dữ liệu boolean dùng để chấp nhận đính kèm thêm lớp

fully-connected hay khơng, mặc định sẽ là True, mình sẽ pre-train đưa ra số lớp khác nên trong lúc huấn luyện ta sẽ tự tạo lại lớp này cho mơ hình cần huấn luyện nên ta cho giá trị tham số này là False.

weights: sẽ có 2 lựa chọn cho chúng ta đó là None và “imagenet”, khi chọn

None thì các trọng số của model bạn sẽ cho những giá trị ngẫu nhiên, cịn với tùy chọn “imagenet” thì model chúng ta sẽ lấy trọng số của model được huấn luyện trước đó sẵn có. Trong dự án này nhóm sẽ lấy giá trị trọng số trước đó của “imagenet” để đào tạo lại tiếp cho mơ hình.

input_shape: một tham quan trọng khác là kích thước đầu vào của ảnh, chúng

ta có thể tùy chỉnh kích thước này tùy thuộc vào mục tiêu và bước chuẩn bị dữ liệu của chúng ta như thế nào. Giá trị thường thấy ở giá trị đầu vào ở các mơ hình là 224 × 224, một số khác có thể là 331 × 331, 299 × 299, …Trong dự án này nhóm sẽ sử dụng các kích thước khác nhau để đánh giá mơ hình theo kích thước của chúng. Các kích thước sẽ là: 128 × 128, 160 × 160, 192 × 192, 224 × 224 𝑣à 256 × 256.

classes: Là số lớp được chỉ định để mơ hình có thể phân loại với điều kiện là

tham số include_top là True và weights là None.

• Và một số tham số khác tùy thuộc vào mơ hình. Và trong dự án này thì chúng ta đều cho chúng ở mặc định.

Trang | 83

4.3.4.2. Đề xuất mơ hình cho tranfer-learning.

• Mơ hình 1 với các tham số của mơ hình đào đạo trước đóng băng tồn bộ:

Model: "sequential"

_______________________________________________________________________________ Layer (type) Output Shape Param #

====================================================================== [option_model] (Functional) (None, [option], [option], [option]) [option]

_______________________________________________________________________________ flatten (Flatten) (None, [option]) 0

_______________________________________________________________________________ dense (Dense) (None, 1024) [option]

_______________________________________________________________________________ dropout (Dropout) (None, 1024) 0

_______________________________________________________________________________ dense_1 (Dense) (None, 5) [option]

======================================================================

• Mơ hình 2 với huấn luyện loại tồn bộ mơ hình đào đạo trước:

Model: "sequential"

_______________________________________________________________________________ Layer (type) Output Shape Param #

====================================================================== [option_model] (Functional) (None, [option], [option], [option]) [option]

_______________________________________________________________________________ max_pooling2d (MaxPooling2D) (None, [option], [option], [option]) 0

_______________________________________________________________________________ flatten (Flatten) (None, [option]) 0

_______________________________________________________________________________ dense (Dense) (None, 5) [option]

Trang | 84

4.3.4.3. Các bước thực hiện huấn luyện mơ hình.

• Chúng ta sẽ thực hiện huấn luyện mơ hình trên Kaggle, những bước đầu chúng ta sẽ tạo tài khoản trên Kaggle.

Hình 4.18: Trang chủ của Kaggle.

Hình 4.19: Trang đăng ký của Kaggle.

• Tạo 1 notebook mới với ngôn ngữ Python, loại Notebook và cài đặt nâng cao ở phần máy gia tốc chúng ta có thể chọn 1 trong những tùy chọn CPU, GPU, TPU v3-8. Chọn TPU v3-8 để tốc độ huấn luyện được cải thiện hơn.

Trang | 85

Hình 4.20: Thực hiện tạo notebook mới trên Kaggle.

• Lưu dữ liệu từ file HDF5 trước đó đã lưu lên trên Kaggle.

Hình 4.21: Upload dữ liệu trên Kaggle.

• Đọc dữ liệu từ file HDF5 trên Kaggle. - Đọc thông tin nhãn.

Trang | 86 - Đọc tập dữ liệu thử nghiệm/thẩm định.

• Chuyển đổi nhãn nhiều lớp thành nhãn nhị phân.

• Thử kiểm tra có hỗ trợ máy giá tốc TPU hay khơng, nếu có sẽ sử dụng máy giá tốc là TPU.

• Tạo mơ hình để đào tạo. Ở đây chúng ta sẽ lưu ý chúng ta sẽ đánh giá qua 2 mơ hình đã đề xuất.

• Tạo function learning rate reduction.

• Đào tạo mơ hình.

Một phần của tài liệu Phân loại phong cách thiết kế nội thất dùng học sâu và ứng dụng thực tế đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin (Trang 99 - 103)