เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ส่วนที่ 2: ตามล่าขุมทรัพย์

คราวนี้มีเงื่อนไขพิเศษเพิ่มขึ้นมา คุณลืมพกแล็ปท็อปและมีเพียงอุปกรณ์ที่มีหน่วยความจำจำกัดติดมือมาเท่านั้น โค้ดที่เขียนต้องมีความยาวไม่เกิน 4 บรรทัด (ไม่นับคอมเมนต์) เพื่อให้โค้ดกระชับที่สุด จึงต้องใช้ list comprehension

list comprehension เป็นวิธีที่ดีในการวนลูปผ่านข้อมูลด้วยโค้ดเพียงบรรทัดเดียว ตัวอย่างเช่น หากต้องการดึงเลขคู่ทั้งหมดจากลิสต์ตัวเลข สามารถเขียนได้ว่า [n for n in range(100) if n%2==0] จะเห็นได้ว่า list comprehension ช่วยให้รวม for loop และ if statement ไว้ในบรรทัดเดียวได้

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Machine Translation ด้วย Keras

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ดึง word ID จากเวกเตอร์ onehot encoded ใน treasure_map
  • ดึง batch size (มิติแรกสุด) ของ treasure map แล้วนำไปสร้าง for loop
  • ดึงคำของประโยคที่ i โดยวนซ้ำแถวที่ i ของ word_ids พร้อมละเว้น word ID ที่มีค่าเท่ากับศูนย์

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Get the word IDs from the treasure map
word_ids = np.argmax(____, axis=-1)
# Get the batch size from the treasure map
for i in range(treasure_map.shape[____]):
  	# Get all the words of the i-th sentence using list comprehension
	words = [index2word[____] for wid in word_ids[____] if wid != ____]
	print("Instruction ", i+1, ": ", ' '.join(words))
แก้ไขและรันโค้ด