Trực quan hóa phản hồi của kernel
Một cách để diễn giải các trọng số của mạng nơ-ron là xem các kernel được lưu trong các trọng số này “nhìn” thế giới như thế nào — tức là kernel đó làm nổi bật những đặc trưng nào của ảnh. Trong bài tập này, bạn sẽ thực hiện điều đó bằng cách tích chập một ảnh với kernel và trực quan hóa kết quả. Với các ảnh trong biến test_data, một hàm extract_kernel() để trích xuất kernel từ mạng đã cho, và hàm convolution() mà chúng ta đã định nghĩa ở chương đầu, hãy trích xuất kernel, tải dữ liệu từ tệp và trực quan hóa bằng matplotlib.
Một mô hình CNN sâu model, hàm convolution(), cùng với kernel bạn đã trích xuất ở bài trước có sẵn trong không gian làm việc của bạn.
Sẵn sàng nâng tầm kỹ năng deep learning? Hãy xem Advanced Deep Learning with Keras để khám phá cách Keras functional API giúp bạn xây dựng kiến thức miền để giải quyết những dạng bài toán mới.
Bài tập này là một phần của khóa học
Mô hình hóa ảnh với Keras
Hướng dẫn bài tập
- Dùng hàm
convolution()để tích chập kernel đã trích xuất với kênh đầu tiên của phần tử thứ tư trong mảng ảnh. - Trực quan hóa kết quả tích chập bằng
imshow().
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
import matplotlib.pyplot as plt
# Convolve with the fourth image in test_data
out = ____(____[____, :, :, 0], kernel)
# Visualize the result
____
plt.show()