Convolution หนึ่งมิติ
การ convolution ของอาร์เรย์หนึ่งมิติกับ kernel ทำได้โดยนำ kernel เลื่อนไปตามอาร์เรย์ทีละตำแหน่ง คูณค่าของ kernel กับค่าในอาร์เรย์ที่ทับซ้อนกันในตำแหน่งนั้น แล้วนำผลคูณทั้งหมดมารวมกัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างโมเดลภาพด้วย Keras
คำแนะนำการฝึกหัด
คูณแต่ละ window ในอาร์เรย์ input กับ kernel จากนั้นนำผลคูณมารวมกัน แล้วบันทึกผลลัพธ์ลงในตำแหน่งที่ถูกต้องในอาร์เรย์ output (conv)
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
array = np.array([1, 0, 1, 0, 1, 0, 1, 0, 1, 0])
kernel = np.array([1, -1, 0])
conv = np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
# Output array
for ii in range(8):
conv[ii] = (____ * array[____:____+____]).sum()
# Print conv
print(conv)