Học sâu với Keras - Biên dịch mô hình
Quá trình biên dịch được thực hiện bằng một lệnh gọi phương thức duy nhất được gọi là compile.
model.compile(loss='categorical_crossentropy', metrics=['accuracy'], optimizer='adam')
Các compilephương thức yêu cầu một số tham số. Tham số tổn thất được chỉ định để có loại'categorical_crossentropy'. Thông số chỉ số được đặt thành'accuracy' và cuối cùng chúng tôi sử dụng adamtrình tối ưu hóa để đào tạo mạng. Kết quả ở giai đoạn này được hiển thị bên dưới:
Bây giờ, chúng tôi đã sẵn sàng cung cấp dữ liệu vào mạng của mình.
Đang tải dữ liệu
Như đã nói trước đó, chúng tôi sẽ sử dụng mnisttập dữ liệu do Keras cung cấp. Khi chúng tôi tải dữ liệu vào hệ thống của mình, chúng tôi sẽ chia nhỏ dữ liệu đó trong dữ liệu đào tạo và kiểm tra. Dữ liệu được tải bằng cách gọiload_data phương pháp như sau -
(X_train, y_train), (X_test, y_test) = mnist.load_data()
Đầu ra ở giai đoạn này trông giống như sau:
Bây giờ, chúng ta sẽ tìm hiểu cấu trúc của tập dữ liệu đã tải.
Dữ liệu được cung cấp cho chúng tôi là các hình ảnh đồ họa có kích thước 28 x 28 pixel, mỗi hình chứa một chữ số duy nhất từ 0 đến 9. Chúng tôi sẽ hiển thị mười hình ảnh đầu tiên trên bảng điều khiển. Mã để làm như vậy được đưa ra dưới đây:
# printing first 10 images
for i in range(10):
plot.subplot(3,5,i+1)
plot.tight_layout()
plot.imshow(X_train[i], cmap='gray', interpolation='none')
plot.title("Digit: {}".format(y_train[i]))
plot.xticks([])
plot.yticks([])
Trong một vòng lặp lặp lại gồm 10 số đếm, chúng tôi tạo một biểu đồ con trên mỗi lần lặp lại và hiển thị một hình ảnh từ X_trainvector trong đó. Chúng tôi đặt tiêu đề cho mỗi hình ảnh từy_trainvectơ. Lưu ý rằngy_train vectơ chứa các giá trị thực cho hình ảnh tương ứng trong X_trainvectơ. Chúng tôi loại bỏ các đánh dấu trục x và y bằng cách gọi hai phương thứcxticks và yticksvới đối số rỗng. Khi bạn chạy mã, bạn sẽ thấy kết quả sau:
Tiếp theo, chúng tôi sẽ chuẩn bị dữ liệu để đưa nó vào mạng của chúng tôi.