WEBVTT

00:00.270 --> 00:02.590
สวัสดีและยินดีต้อนรับสู่การสอน Python นี้

00:02.820 --> 00:12.240
เอาล่ะวันนี้เราจะทำการอัพเดทฟังก์ชั่นซึ่งจะอัพเดททุกอย่างทันทีทันใดเมื่อตาถึงสถานะใหม่

00:12.510 --> 00:16.140
ดังนั้นเมื่อมันมาถึงเวทีใหม่คุณรู้ว่าเราจำเป็นต้องปรับปรุงการกระทำ

00:16.200 --> 00:19.320
สุดท้ายมาถึงการกระทำใหม่ที่เพิ่งเล่น

00:19.530 --> 00:22.630
แต่ยังเป็นวันสุดท้ายที่กลายเป็นสถานะใหม่

00:22.680 --> 00:27.450
และในที่สุดคำสุดท้ายที่กลายเป็นคำใหม่ที่เราได้รับเมื่อเราเล่น

00:27.480 --> 00:31.480
นั่นคือเส้นทางตรรกะที่เกิดขึ้นทันทีหลังจากเลือกการกระทำ

00:31.530 --> 00:35.100
เราจำเป็นต้องอัพเดทองค์ประกอบทั้งหมดของการเปลี่ยนภาพ

00:35.310 --> 00:37.370
และแน่นอนคุณจะได้รับการเปลี่ยนแปลงใหม่

00:37.420 --> 00:40.300
ดังนั้นเราจะต้องผนวกการเปลี่ยนใหม่นี้เข้ากับหน่วยความจำ

00:40.350 --> 00:49.460
และในที่สุดเราก็จะอัปเดตหรือให้รางวัลหน้าต่างที่คุณรู้เพื่อจับตาดูวิวัฒนาการของการฝึกซ้อมและการสำรวจต่อไป

00:49.680 --> 01:01.650
แต่สิ่งที่สำคัญที่สุดสำหรับคุณที่จะเข้าใจคือตอนนี้เราสามารถเชื่อมต่อระหว่าง AI ที่เรากำลังนำไปใช้กับแผนที่ของเราในตอนนี้เพราะถ้าเรากลับไปที่แผนที่ของเรา

01:01.650 --> 01:12.940
นั่นคือสิ่งที่เราทำกับเกมและกำหนดว่ารถควรถูกลงโทษอย่างไรเมื่อทำผิด

01:13.170 --> 01:24.700
แต่ในคลาสของเกมนี้เราสังเกตเห็นฟังก์ชั่นการอัพเดทนี้และในฟังก์ชั่นการอัพเดทนี้เราสังเกตเห็นการกระทำของไลน์นี้เพราะการอัพเดทสมองครั้งล่าสุดเราทำงานสัญญาณน้อยลง

01:24.900 --> 01:28.410
และนี่คือสิ่งที่เรากำลังจะทำ

01:28.410 --> 01:37.860
เรากำลังจะทำฟังก์ชั่นอัพเดทนี้ซึ่งจะใช้คำสุดท้ายและสัญญาณสุดท้ายเพื่อรับการกระทำถัดไป

01:37.860 --> 01:41.640
ดังนั้นไม่เพียง แต่อัปเดตองค์ประกอบที่แตกต่างทั้งหมดของการเปลี่ยนแปลง

01:41.910 --> 02:07.740
แต่ส่วนใหญ่เราจะเล่นแอคชั่นที่เราควรเล่นเมื่อได้คำสุดท้ายและสัญญาณสุดท้ายและแน่นอนในฟังก์ชั่นอัพเดทนี้เราจะใช้ฟังก์ชั่นการเลือกที่เราเพิ่งใช้งาน ฟังก์ชันการอัปเดตในอนาคตที่เรากำลังจะเลือกทิศทางที่จะเล่นนอกเหนือจากการอัปเดตทั้งหมด

02:07.860 --> 02:11.200
ดังนั้นสิ่งสำคัญคือการเชื่อมต่อกับแผนที่ในขณะนี้

02:11.310 --> 02:19.750
สิ่งที่เรากำลังจะทำคือในที่สุดความเชื่อมโยงระหว่างดวงตาของเรากับเกมที่เราสร้างในคลาสนี้

02:19.770 --> 02:24.030
ดังนั้นสิ่งที่เราสามารถทำได้ในตอนนี้ก็คือการอัพเดทนี้โดยตรง

02:24.060 --> 02:30.430
ล่าสุดเรามีสัญญาณน้อยลงเพราะนั่นคือฟังก์ชั่นที่เราจะทำกับข้อโต้แย้งทั้งสองนี้ที่นี่

02:30.720 --> 02:38.530
และเช่นเดียวกับสมองที่เตือนความจำอย่างรวดเร็วคือวัตถุ AI ของเรานั่นคือเป้าหมายของคลาส Dejuan

02:38.540 --> 02:48.390
ดังนั้นสิ่งที่เรากำลังจะทำตอนนี้คือเราจะคัดลอกการอัปเดตสัญญาณน้อยคำน้อยกว่านี้และนั่นจะเป็นฟังก์ชันถัดไปของเราที่เราทำ

02:48.480 --> 02:56.190
ด้วยเหตุนี้และการวางที่นี่ดังนั้นเพียงระวังฉันต้องการให้ชื่อแตกต่างจากชื่อที่เรามีที่นี่

02:56.200 --> 03:00.820
คุณรู้ว่าเรามีคำสุดท้ายที่นี่และฉันไม่ต้องการที่จะสับสนคำสุดท้ายนี้กับคำนี้

03:00.900 --> 03:02.060
นั่นอาจเป็นอันตรายได้

03:02.220 --> 03:06.100
ดังนั้นฉันจะแทนที่คำสุดท้ายที่นี่ด้วยคำ

03:06.390 --> 03:18.900
และด้วยวิธีเดียวกันกับสัญญาณที่น้อยลงเราแค่ใส่สัญญาณหรือแม้แต่สัญญาณใหม่เพื่อระบุว่าคุณรู้ว่าเราต้องการวัดว่าเมื่อถึงสถานะใหม่แล้วจึงรับสัญญาณใหม่

03:18.900 --> 03:26.100
แต่แน่นอนคำนี้ที่นี่จะเป็นรางวัลสุดท้ายที่เราได้รับที่นี่

03:26.280 --> 03:34.130
คุณรู้ไหมว่าเมื่อไปถึงหาดทรายหรือแย่กว่านั้นการเข้าใกล้ขอบหนึ่งของแผนที่มากเกินไปนั่นคือสิ่งที่เรากำหนดคำสุดท้าย

03:34.200 --> 03:39.400
คำสุดท้ายนี้จะเป็นอินพุตของฟังก์ชั่นอัพเดทดังนั้นนั่นเป็นสาเหตุที่เรามีคำสุดท้ายที่นี่

03:39.600 --> 03:43.660
แต่ที่นี่ฉันแค่ให้ชื่ออื่นสำหรับการโต้แย้ง

03:43.710 --> 03:47.640
เราต้องการที่จะไม่สับสนกับคำสุดท้ายที่นี่

03:47.640 --> 03:50.160
เอาล่ะนี่คือฟังก์ชั่นอัพเดท

03:50.310 --> 03:54.090
ทีนี้ลองเข้าไปข้างในและทำสองสิ่งนี้กัน

03:54.090 --> 03:58.970
นั่นคือข้อมูลองค์ประกอบทั้งหมดของการเปลี่ยนแปลงของเราและแน่นอนเลือกการกระทำ

03:59.290 --> 04:01.670
ตกลงเราต้องปรับปรุงอะไรก่อน

04:01.950 --> 04:06.760
ตามที่คุณเข้าใจเราต้องการนัดเดทเมื่อไปถึงรัฐใด ๆ

04:06.840 --> 04:12.800
ดังนั้นสิ่งแรกที่เราจะอัปเดตก็คือข่าวนี้ชัดเจนว่าเป็นข่าวที่เรากำลังเข้าถึง

04:12.840 --> 04:17.340
ดังนั้นฉันจะเรียกรัฐใหม่นี้ว่ารัฐใหม่แล้วมันจะ

04:17.340 --> 04:19.810
แล้วเราจะได้สถานะใหม่นี้อย่างไร

04:20.040 --> 04:25.460
แน่นอนว่าขึ้นอยู่กับสัญญาณสัญญาณใหม่ที่เซ็นเซอร์เพิ่งตรวจพบ

04:25.830 --> 04:37.470
และเพื่อเป็นการเตือนสถานะคือสัญญาณที่ประกอบด้วยสัญญาณสามตัวที่เซ็นเซอร์ส่งสัญญาณหนึ่งสัญญาณไปยังสัญญาณสามบวกการวางแนวและการวางแนวลบ

04:37.530 --> 04:38.600
นั่นคือสถานะของเรา

04:38.610 --> 04:42.470
ดังนั้นโปรดเข้าใจว่าสัญญาณเป็นสถานะ

04:42.660 --> 04:46.160
แต่ตอนนี้มันเป็นรายการง่าย ๆ ของห้าองค์ประกอบ

04:46.200 --> 04:52.200
และเนื่องจากนี่จะเป็นอินพุตที่จะทำทุกอย่างที่จำได้เราต้องแปลงมันเป็นเซ็นเซอร์คบเพลิง

04:52.490 --> 04:54.960
นั่นคือสิ่งที่เรากำลังจะทำในตอนนี้

04:54.960 --> 05:19.650
พวกเรากำลังจะไปที่ห้องสมุดคบเพลิงของเราจากนั้นก็เข้าชั้นเรียนเทนเซอร์ที่นั่นซึ่งจะแปลงสัญญาณใหม่ของเราให้กลายเป็นคบเพลิงคบเพลิงดังนั้นมันจะดีกว่าเพื่อให้แน่ใจว่าองค์ประกอบทั้งหมดของคบเพลิงจะตอบว่า ทำให้การแปลงประเภทเพื่อแปลงพวกเขาเป็นลอยเช่นนี้

05:19.900 --> 05:24.500
และในที่สุดก็พยายามสะท้อนสิ่งที่เราต้องทำต่อไป

05:24.530 --> 05:37.080
แน่นอนว่าการสร้างเครื่องมือปลอมลงไปเพื่อเพิ่มเพชรและสอดคล้องกับแบทช์และเราทำอย่างนี้กับฟังก์ชั่นการบีบซึ่งเราต้องใส่ดัชนีของเพชรขนาดใหญ่นี้

05:37.100 --> 05:40.210
และเราต้องการแบทช์ที่เป็นศูนย์

05:40.770 --> 05:41.320
เอาล่ะ

05:41.320 --> 05:54.290
และตอนนี้เรามีสถานะใหม่ของเราประกอบด้วยสัญญาณสามตัวของเซ็นเซอร์สามตัวพร้อมการปฐมนิเทศลบการวางแนวและแน่นอนว่าจะขึ้นอยู่กับสัญญาณใหม่ที่เราได้รับด้วยฟังก์ชั่นอัพเดทนี้

05:54.400 --> 05:57.940
ในเวลานี้สัญญาณล่าสุดที่เราได้รับสามสัญญาณ

05:57.940 --> 06:06.490
ดังนั้นในการลบหรือเพิ่มนอกจากนี้และเพื่อเป็นการเตือนสัญญาณทั้งสามคือความหนาแน่นของเซ็นเซอร์ที่ตรวจพบรอบ ๆ

06:06.490 --> 06:06.940
เอาล่ะ

06:06.970 --> 06:13.710
ดังนั้นเราเพิ่งได้เวทีใหม่นั่นหมายความว่าเรามาถึงด่านใหม่และตอนนี้เราต้องทำการอัพเดทครั้งต่อไป

06:13.750 --> 06:16.440
ดังนั้นตามที่คุณต้องการเราจำเป็นต้องปรับปรุงในขณะนี้

06:16.660 --> 06:22.320
สิ่งที่จะเป็นสิ่งที่มีเหตุผลในปัจจุบันในขณะนี้หลังจากถึงสถานะใหม่

06:22.630 --> 06:25.940
ตอนนี้สิ่งที่เราต้องการคือความทรงจำ

06:25.960 --> 06:27.010
ทำไมเป็นอย่างนั้น

06:27.010 --> 06:34.200
อาจเป็นเพราะในแต่ละครั้งการเปลี่ยนภาพจะประกอบด้วยสถานะปัจจุบันของ Estey ในวันถัดไปเป็นคำแนะนำเมื่อรางวัลอาร์ทิและการกระทำ

06:34.220 --> 06:37.660
80

06:37.860 --> 06:44.020
และตอนนี้เรามี S-T อยู่แล้วเรามีทีมของเราอยู่แล้วและเรามี 80 แล้วและเราเพิ่งได้องค์ประกอบสุดท้ายของการเปลี่ยน

06:44.020 --> 06:47.540
Estep บวกหนึ่ง

06:47.590 --> 07:01.910
ดังนั้นโดยการทำให้สถานะใหม่นี้ลึกเท่ากับหนึ่งเราจะได้รับการเปลี่ยนหน่วยความจำใหม่ล่าสุดและดังนั้นเราจึงต้องผนวกการเปลี่ยนแปลงใหม่นี้เข้ากับหน่วยความจำ

07:01.930 --> 07:03.980
นั่นคือสาเหตุที่เราต้องจำในตอนนี้

07:04.120 --> 07:17.130
และสิ่งที่ฉันจะทำคือนำวัตถุความทรงจำของฉันที่สร้างขึ้นจากคลาสหน่วยความจำการเล่นซ้ำ

07:17.160 --> 07:22.700
แต่เนื่องจากฉันใช้ตัวเองฉันจึงต้องรวมตัวเองในหน้าที่นั้น

07:22.950 --> 07:25.440
ดังนั้นตอนนี้คุณสามารถเห็นสิ่งที่ตัวเองมีไว้เพื่อ

07:25.550 --> 07:32.600
เป็นเมื่อใดก็ตามที่คุณใช้ตัวแปรหนึ่งตัวที่คุณสร้างและเริ่มต้นในฟังก์ชัน init นั่นคือหน่วยความจำ

07:32.600 --> 07:33.960
และตอนนี้เราก็ทำแล้ว

07:34.190 --> 07:36.950
และตามที่คุณว่าเรากำลังจะปรับปรุงที่

07:37.160 --> 07:41.290
ข่าวดีก็คือว่าเราได้ทำฟังก์ชั่นการทำเช่นนั้นแล้ว

07:41.300 --> 07:46.990
มันเป็นฟังก์ชั่นพุชที่ห้ามกิจกรรมหรือเปลี่ยนไปใช้หน่วยความจำ

07:47.190 --> 07:49.060
นั่นคือสิ่งที่เรากำลังจะใช้ตอนนี้

07:49.070 --> 08:04.200
เรากำลังจะใช้ฟังก์ชั่นการกดเพื่อบันทึกช่วงการเปลี่ยนภาพใหม่ของเราที่เราเพิ่งทำกับหน่วยความจำและดังนั้นที่นี่ฉันไม่เท่ากันเพราะเราจะใช้วิธีการดังนั้นเราจึงสามารถใช้การผลัก

08:04.280 --> 08:10.780
และก่อนอื่นฉันจะเพิ่มการเปลี่ยนแปลงช่วงการเปลี่ยนภาพใหม่นี้ที่เราเพิ่งได้รับ

08:10.850 --> 08:14.010
ดังนั้นตัวเองว่าวันสุดท้าย

08:14.270 --> 08:18.680
นั่นคือ S-T นั่นคืออันนี้มันมีอยู่แล้ว

08:18.680 --> 08:23.620
จากนั้นองค์ประกอบถัดไปของการเปลี่ยนแปลงนี้แน่นอนว่าเป็นสถานะใหม่ที่เราเพิ่งมาถึง

08:23.840 --> 08:31.470
และเนื่องจากมันไม่สามารถใช้งานได้กับวัตถุที่เราสร้างและเริ่มต้นในฟังก์ชั่นเริ่มต้นนี้เราจึงไม่ใส่ตัวเองที่นี่

08:31.580 --> 08:43.690
เราใส่ Newstead โดยตรงจากนั้นองค์ประกอบถัดไปของการเปลี่ยนแปลงคือการกระทำและบอกว่าเรามีส่วนสุดท้ายซึ่งเป็นตัวของตัวเองซึ่งเป็นการกระทำครั้งสุดท้ายที่นี่

08:43.840 --> 08:45.320
แน่นอนว่ามันเท่ากับศูนย์

08:45.350 --> 08:50.050
แต่แน่นอนว่ามันจะถูกอัพเดตด้วยฟังก์ชั่นการทำงานที่เลือก

08:50.170 --> 08:51.190
แต่นั่นคืออันนี้

08:51.190 --> 08:55.620
ดังนั้นจึงเป็นตัวของตัวเองว่าการกระทำครั้งสุดท้าย

08:55.840 --> 08:57.120
แต่ตอนนี้ต้องระวัง

08:57.190 --> 09:01.540
องค์ประกอบที่รวมอยู่ในการเปลี่ยนแปลงนี้ทุกคนควรได้รับการตอบคำถาม

09:01.870 --> 09:03.860
อย่างที่คุณเห็นว่าเป็นกรณีของวันสุดท้าย

09:03.880 --> 09:05.200
มันเป็นเซ็นเซอร์คบเพลิง

09:05.350 --> 09:07.860
รัฐใหม่ก็ถูกใช้เป็นคำตอบเช่นกัน

09:07.900 --> 09:12.050
และสิ่งนี้จะต้องเหมือนกันสำหรับการกระทำและจากนั้นได้รับรางวัลแน่นอน

09:12.190 --> 09:17.320
แต่ตอนนี้คุณกำลังคิดว่าจะเป็นคำตอบที่ถูกเผาไหม้ได้อย่างไรโดยพิจารณาว่ามันเป็นเพียงตัวเลข

09:17.410 --> 09:20.700
คุณรู้ว่าการกระทำนั้นเป็น 0 1 หรือ 2

09:20.890 --> 09:22.370
แต่ในความเป็นจริงนั่นไม่ใช่ปัญหา

09:22.390 --> 09:28.640
เรายังสามารถแปลงตัวแปร 0 1 หรือ 2 นี้เป็นเซ็นเซอร์คบเพลิง

09:28.660 --> 09:31.530
นี่จะเป็นสิ่งที่เราเรียกว่าเทนเซอร์ยาว

09:31.540 --> 09:36.910
ความยาวเป็นประเภทและนั่นคือเมตริกซ์ที่จะมีจำนวนเต็มเพราะการกระทำล่าสุดคือจำนวนเต็มเท่ากับ 0 1 หรือ

09:36.910 --> 09:39.660
2

09:39.670 --> 09:53.470
ดังนั้นสิ่งที่เราจะทำตอนนี้คือห้องสมุดของเราจากนั้นเราจะใช้เวลานานคือคลาสเทนเซอร์แบบยาวที่จะสร้างวัตถุซึ่งจะไม่ดำรงอยู่ในตัวมันเอง

09:53.710 --> 10:00.370
และโดยการใช้ฟังก์ชั่นการกระทำสุดท้ายของตัวเองนี้เป็นอินพุตมันจะสร้างวัตถุเทนเซอร์ยาวนี้ แต่มันจะยังคงมี 0 1

10:00.370 --> 10:08.590
หรือ 2 เป็นวัตถุเทนเซอร์ยาวและนั่นก็เพื่อให้สอดคล้องกับการเปลี่ยนแปลงที่มันประกอบด้วยเทนเซอร์ ทำงานกับ PI

10:08.830 --> 10:14.070
torch และเรากำลังทำงานกับเครือข่ายประสาท

10:14.170 --> 10:18.480
ดังนั้นเราต้องทำงานกับเซ็นเซอร์เพื่อให้เราตอบคำถามได้นาน

10:18.580 --> 10:20.780
และหนึ่งการแปลงสุดท้ายที่จะทำ

10:20.860 --> 10:27.520
เราต้องแน่ใจว่าสิ่งที่อยู่ในคำตอบที่ยาวนี้คือจำนวนเต็มและเพื่อให้แน่ใจว่าแม้ว่าเรารู้แล้วว่าการกระทำสุดท้ายคือ 0 1 หรือ

10:27.520 --> 10:34.000
2 เพื่อให้แน่ใจว่าเราจะทำการแปลงแบบ int

10:34.000 --> 10:39.310
อีกครั้ง การกระทำล่าสุดด้วยตนเองเป็นจำนวนเต็ม

10:39.310 --> 10:46.450
ที่นั่นเราไปแล้วเราจะต้องใส่การกระทำที่ไม่เห็นแก่ตัวจำนวนเต็มลงในวงเล็บที่นี่เพื่อที่ตอนนี้เราได้รับเทนเซอร์ยาว ๆ ขององค์ประกอบหนึ่งซึ่งจะเป็นการกระทำสุดท้าย 0 หรือ

10:46.450 --> 10:52.810
1 หรือ 2

10:52.810 --> 10:59.880
ดังนั้นประเด็นสำคัญคือนั่นคือวิธีที่คุณแปลงตัวเลขอย่างง่ายเป็นศูนย์หนึ่งหรือสองเข้าไปในเมตริกซ์ด้วย torche

11:00.060 --> 11:00.360
เอาล่ะ

11:00.360 --> 11:06.820
และสุดท้ายก็เป็นองค์ประกอบสุดท้ายของการเปลี่ยนแปลงและแน่นอนว่าเป็นคำสุดท้ายที่เราได้รับ

11:06.880 --> 11:12.980
นั่นคือคำพูดสุดท้ายของวอลเลย์บอลที่เราสร้างขึ้นในฟังก์ชั่นใด ๆ ที่เริ่มต้นเป็นศูนย์

11:13.110 --> 11:24.020
แต่แน่นอนว่ามีการปรับปรุงที่นี่ในรหัสนี้ทั้งเมื่อเราไปถึงความรู้สึกซึ่งเป็นคำเชิงลบหรือถ้าเราได้รับห่างจากเป้าหมายที่เป็นรางวัลเชิงลบอีกครั้ง

11:24.180 --> 11:34.080
หากเราเข้าใกล้เป้าหมายมากขึ้นนั่นคือรางวัลในเชิงบวกและการลงโทษที่เลวร้ายที่สุดหากเราเข้าใกล้แผนที่หนึ่งขอบมากเกินไป

11:34.290 --> 11:36.190
และนั่นคือ

11:36.260 --> 11:40.810
งั้นเรามาเพิ่มองค์ประกอบสุดท้ายของการเปลี่ยนทิศทางไปที่คำว่า

11:41.060 --> 11:53.570
ฉันกำลังคัดลอกการวางนี่ตรงนี้และตอนนี้เราต้องทำการแปลงอีกครั้งซึ่งแน่นอนว่าจะเหมือนกับอันนี้เท่านั้นเนื่องจากคำว่าไม่ใช่จำนวนเต็ม แต่เป็นจำนวนลอย

11:53.780 --> 12:00.350
เราจะสร้างคบเพลิงที่ใช้ตัวแปลงเทนเซอร์

12:00.350 --> 12:11.510
แต่ถ้าไม่มีก็จะเก็บที่นี่ไว้เพราะคุณรู้ก่อนว่าเราต้องใส่หมายเลขลงในรายการแล้วรายการนี้จะไปและใส่คบเพลิงเข้าไปในห้องเรียน เพื่อให้เกิดการแปลงเพราะคำสุดท้ายเป็นจำนวนลอย

12:11.510 --> 12:21.400
ดังนั้นสิ่งที่เราจะทำคือเพียงเพิ่มที่นี่จุดคบเพลิง torche คบเพลิงเมตริกซ์แล้ววงเล็บวงเล็บ

12:21.680 --> 12:27.470
และเรากำลังจะปิดวงเล็บที่นี่และเราปิดวงเล็บ

12:27.470 --> 12:28.820
เราจะไปที่นั่น.

12:28.820 --> 12:37.150
ดังนั้นเพื่อสรุปสิ่งที่คุณบอกว่าเราเพิ่งมาถึงและคำที่เราสังเกตเห็นเหตุการณ์ใหม่ของการเปลี่ยนแปลงที่เราเพิ่มเข้าไปในหน่วยความจำ

12:37.550 --> 12:44.240
และการเปลี่ยนแปลงนี้มีวันที่ล่าสุดและดูสถานะใหม่เป็น tipis เมื่อการกระทำล่าสุดเล่น 80

12:44.540 --> 12:47.640
และอาร์ชีคำสุดท้าย

12:48.020 --> 12:48.390
เอาล่ะ

12:48.440 --> 12:51.220
และตอนนี้เรากำลังไปด้วยความทรงจำของวันที่ของเรา

12:51.410 --> 12:55.710
งั้นมาพักกันเร็ว ๆ แล้วเราจะจัดการอัพเดตต่อไปในบทช่วยสอนถัดไป

12:55.970 --> 12:57.440
จนกว่าจะถึงวันนั้น
