Xin chào và chào mừng bạn đến với hướng dẫn này, gần như là hướng dẫn cuối cùng của mô-đun này.
Tôi chỉ giải thích mã chính sẽ thực thi toàn bộ trước khi chúng ta nhận được kết quả
thú vị và xem video.
Vì vậy, đây là mã chính và như bạn có thể thấy, đoạn mã này khá ngắn.
Chúng tôi bắt đầu bằng cách nhập các thư viện và mô-đun cũng như các lớp và chức năng khác nhau mà
chúng tôi đã thực hiện như phê bình tích cực từ tệp mô hình của chúng tôi, hàm đào tạo từ tệp đào tạo và chức năng kiểm
tra từ tệp kiểm tra.
Và tất nhiên, chúng tôi nhập trình tối ưu hóa của mình.
Sau đó, chúng ta bắt đầu với phần đầu tiên mà chúng ta vào một lớp, tất cả các tham số và đây là
tham số này.
Hãy nhớ rằng, đây là đối tượng tham số mà chúng tôi đã tạo từ lớp tham số này mỗi khi chúng tôi nhận được một tham
số như tốc độ học, gamma hoặc tau.
Vì vậy, chúng ta hãy lướt qua chúng một cách nhanh chóng.
R đầu tiên ở đây là tỷ lệ học tập.
Vì vậy, như bạn có thể thấy, chúng tôi chọn một tỷ lệ học tập nhỏ.
Tham số thứ hai là tham số gamma.
Một lần nữa, chúng tôi coi nó là 8. 99.
Chúng tôi lấy tham số một kiểu, một tập hợp gồm 116 quy trình, 20 bước, độ dài tối đa là 10.000.
Hãy nhớ rằng chúng tôi đã nói về điều đó.
Đây là thông số chúng tôi đặt để đảm bảo tác nhân không bị mắc kẹt vô thời hạn vào một trạng thái của
môi trường.
Vì vậy, điều này sẽ dừng trò chơi nếu thời lượng tập vượt quá thời lượng tập tối đa này.
Và cuối cùng, tất nhiên, chúng tôi nhận được tên của môi trường của chúng tôi, phá vỡ con số không.
Và nhân tiện, bạn cũng có thể chơi trên một số môi trường khác chỉ bằng cách thay đổi tên của môi trường này tại
đây.
Vì vậy, nếu bạn muốn chơi một số phiên bản đột phá khác hoặc thậm chí một số trò chơi Atari
khác, bạn chỉ cần thay thế hình ảnh đột phá này ở đây bằng một số trò chơi khác, nhưng tôi có thể nói với bạn
rằng video đột phá đã rất khó khăn.
Được rồi.
Vì vậy, tất cả các tham số ở đây và sau đó là mã chính cho lần chạy chính.
Và ở đây, hãy xem những gì chúng tôi làm trong dòng đầu tiên này.
Chúng tôi đặt một chủ đề cho mỗi lõi.
Sau đó, trong dòng thứ hai, chúng ta nhận được tất cả các tham số của mình bằng cách tạo một đối tượng của lớp params sẽ
nhận được một khởi tạo.
Tất cả các tham số này ở đây bởi vì có các biến được gắn vào đối tượng tham số này.
Sau đó, chúng tôi đặt hạt giống, sau đó chúng tôi nhận được môi trường của mình bằng cách sử dụng mục nhập và chức năng tạo với tên môi trường
của chúng tôi là đột phá từ 0.
Bạn thấy tên env đó và do đó các tham số của tên env đó bị phá vỡ bằng 0.
Vì vậy, điều đó sẽ giúp chúng ta có được môi trường đột phá.
Và nhân tiện, đây không phải là cách thông thường để tạo môi trường, nhưng bạn biết đấy, để cải
thiện toàn bộ quá trình và cải thiện hiệu suất trong khi chúng tôi sử dụng cách này để thực sự tạo ra một môi trường được tối ưu hóa
và chúng tôi làm được điều này nhờ vào vũ trụ.
Universe là một gói đi kèm với tất cả các gói bạn đã cài đặt trên không gian mở.
Chà, nhờ có Universe, chúng tôi có được một môi trường được tối ưu hóa.
Đây là tất cả những gì về ở đây.
Sau đó, chúng tôi nhận được mô hình được chia sẻ của chúng tôi bằng cách tạo một đối tượng của lớp phê bình tích cực.
Và vì vậy ở đây cần hiểu rằng mô hình dùng chung này là mô hình được chia sẻ bởi các tác nhân
khác nhau.
Vì vậy, chúng tôi có các luồng khác nhau trong các lõi khác nhau.
Và nói về các luồng ở dòng tiếp theo ở đây, mô hình dùng chung chia sẻ bộ nhớ, những gì chúng ta làm là lưu mô hình
trong bộ nhớ dùng chung của máy tính để tất cả các luồng có thể truy cập vào nó, ngay cả khi chúng
ở các lõi khác nhau.
Vì vậy, đó là những gì chúng tôi làm ở đây.
Điều này là để kích hoạt điều này.
Sau đó, chúng tôi nhận được trình tối ưu hóa của mình được liên kết với các thông số của mô hình được chia sẻ của chúng tôi và với tỷ lệ
học tập là 0. 01 cái.
Và một lần nữa, điều quan trọng là phải hiểu rằng trình tối ưu hóa cũng được chia sẻ vì nó sẽ
hoạt động trên mô hình được chia sẻ và ở dòng tiếp theo sẽ tối ưu hóa bộ nhớ chia sẻ.
Chúng tôi lưu trữ trình tối ưu hóa trong bộ nhớ dùng chung để tất cả các tác nhân có thể truy cập vào nó để tối ưu hóa
mô hình.
Sau đó, chúng tôi khởi tạo các quy trình của mình để quy trình kiểm tra không cập nhật mô hình được chia sẻ mà chỉ sử
dụng mô hình đó để thử trên một phần và in điểm số và quay video.
Vì vậy, đó chính xác là những gì được thực hiện ở đây với Kiểm tra Công bằng Mục tiêu.
Đó là quá trình thử nghiệm và quá trình này ở đây là từ tiền xử lý đa.
Vì vậy, đây và những gì nó làm là về cơ bản nó chạy một chức năng trên một luồng độc lập.
Vì vậy, sau đó khi chúng ta bắt đầu P, chúng ta bắt đầu một quá trình mới được khởi tạo ở đây tại dòng này.
Và sau đó với quy trình này mà thêm P, chúng tôi thêm quy trình vào danh sách các quy trình.
Và cuối cùng trong vòng lặp này ở đây, chúng tôi chỉ thực hiện một vòng lặp để chạy tất cả các quy trình khác sẽ được đào tạo bằng
cách cập nhật mô hình được chia sẻ.
Và về cơ bản đó là những gì xảy ra trong những dòng mã cuối cùng ở đây.
Vì vậy, nếu bạn không muốn đi vào chi tiết của nó, điều quan trọng cần hiểu là điều này sẽ
chạy các quy trình theo cách tối ưu và do đó tất cả chúng ta nên thực hiện tốt mã này và có
một mô hình được đào tạo và cuối cùng xem kết quả.
Vì vậy, tôi không thể chờ đợi để làm điều đó.
Điều này sẽ khá thú vị.
Tôi sẽ cố gắng tìm ra vai trò quan trọng bây giờ để tất cả chúng ta có thể xem nó cùng nhau.
Và vì vậy cho đến lần sau, hãy tận hưởng tôi.