Xin chào và chào mừng đến với hướng dẫn này.
Được rồi, hôm nay chúng ta sẽ tạo một hàm để lưu mô hình của chúng ta.
Điều đó sẽ lưu lại bộ não của chiếc xe để chúng ta có thể sử dụng lại nó bất cứ khi nào thoát ứng dụng.
Nhờ chức năng lưu này, chúng tôi sẽ có thể lưu mô hình, sau đó thoát khỏi ứng dụng.
Và sau đó khi chúng tôi quay lại ứng dụng, nhờ một chức năng khác, đó là chức năng tải sẽ
thực hiện sau chức năng này, chúng tôi sẽ tải phiên bản cuối cùng của mô hình của chúng tôi đã được đào tạo.
Vì vậy, điều đó sẽ rất thực tế và do đó chúng ta hãy biến hai hàm này thành hàm lưu
và hàm tải.
Vì vậy, hãy bắt đầu với chức năng lưu trong hướng dẫn này.
Cho nên ở đây có chết mới cứu được.
Và sau đó nó sẽ diễn ra một cuộc tranh cãi sẽ là của chính mình.
Và lý do là thứ chúng ta sẽ lưu không phải là toàn bộ mô hình ở đây, mà là bản thân mạng nơ-ron của chúng ta, mô hình đó
và trình tự tối ưu hóa của chúng ta bởi vì những gì chúng ta muốn lưu chỉ là trọng số cuối cùng mà chúng ta đã cập nhật ở lần lặp cuối
cùng , bởi vì bất cứ khi nào chúng tôi muốn sử dụng lại mô hình đã lưu của mình sau này, chúng tôi
muốn nó dự đoán hành động chơi với các mức tạ mà chúng tôi đã được đào tạo.
Vì vậy, chúng tôi cần lấy phiên bản cuối cùng của trọng lượng và chúng tôi cũng cần lấy phiên bản cuối cùng
của trình tối ưu hóa vì nó được kết nối với các trọng số này.
Vì vậy, chúng ta hãy làm điều này.
Chúng ta có cái tôi của mình, vì vậy chúng ta sẽ có thể lấy cái tôi của mình, mô hình đó và bản thân của chúng ta, trình tối ưu hóa đó.
Và chúng tôi sẽ lưu hai đối tượng này và từ điển Python.
Và để lưu hai đối tượng này, chúng ta sẽ sử dụng chức năng lưu từ mô-đun đèn pin.
Vì vậy, tôi bắt đầu ở đây với ngọn đuốc lưu và trong ngoặc đơn, chúng tôi sẽ nhập dấu ngoặc từ điển đó và từ điển
bằng Python hoạt động như vậy.
Bạn có một khóa là mã định danh của bạn.
Vì vậy, đó là duy nhất.
Và đối với mỗi khóa, bạn có giá trị mà bạn muốn cung cấp cho khóa đó.
Vì vậy, nó giống như một chức năng ánh xạ từ các số nhận dạng duy nhất đến một giá trị mà bạn muốn cung cấp cho các số nhận dạng này.
Nếu bạn lấy một cuốn sách từ điển đơn giản, thì chìa khóa sẽ là từ và các giá trị sẽ là
định nghĩa của từ.
Chà, ở đây, cũng vậy.
Chúng tôi sẽ tạo hai khóa, một khóa cho đối tượng đầu tiên chúng tôi muốn lưu, đó là mô hình tự.
Và 1/2 chìa khóa cho điều thứ hai mà chúng tôi muốn lưu đó là trình tối ưu hóa tự chấm của chúng tôi.
Và do đó, hãy bắt đầu với phím đầu tiên.
Vì vậy, chúng ta phải đặt tên cho khóa đó và tôi sẽ gọi nó là state underscore dict vì sau đó bạn sẽ
thấy rằng tôi sẽ sử dụng function state dict để lưu mô hình của chúng ta trong từ điển.
Vì vậy, đó là khóa đầu tiên của chúng tôi sau đó để cung cấp giá trị mà chúng tôi muốn gán cho khóa đầu tiên đó.
Như bạn có thể thấy, tôi đã thêm một chút lừa gạt ở đây và ở đây.
Tôi sẽ thêm đối tượng, đối tượng mà tôi muốn lưu.
Vì vậy, đối tượng đầu tiên tôi muốn lưu là mô hình bản thân.
Vì vậy, chúng ta chỉ có thể sao chép mô hình tự này và dán nó làm giá trị của tự khóa đầu tiên của chúng tôi, mô hình đó.
Sau đó, chúng tôi thêm ngày dấu gạch dưới trạng thái dấu chấm, ở đây chúng tôi bắt đầu, lần đầu tiên và sau đó chúng tôi thêm một số dấu ngoặc
đơn và điều đó sẽ lưu các tham số của mô hình của bạn trong chính tả trạng thái khóa đầu tiên này.
Và bây giờ hãy lưu trình tối ưu hóa của chúng tôi.
Vì vậy, chúng tôi sẽ thêm một khóa thứ hai vào từ điển.
Và để làm điều này, chúng tôi thêm vào đây một dấu phẩy, sau đó nhấn enter và ở đó chúng tôi thực hiện với phím thứ hai của mình.
Vì vậy, khóa thứ hai, chúng ta sẽ gọi nó tốt, chúng ta có thể gọi nó là Trình tối ưu hóa.
Sau đó, Colin và sau đó chúng ta chỉ cần thêm tên của đối tượng chúng ta muốn lưu và đó là chính nó, đó là trình tối ưu
hóa của chúng ta.
Vì vậy, chúng tôi thêm vào đây trình tối ưu hóa tự chấm.
Và sau đó một lần nữa để lưu các tham số của trình tối ưu hóa này, chúng ta có ở đây một lần nữa chấm trạng thái dict và sau
đó chúng ta đã lưu mô hình của mình với tất cả các trọng số được lưu và trình tối ưu hóa của chúng ta đã được lưu.
Hoàn hảo.
Và sau đó chúng tôi sẽ lưu tất cả những điều này vào một tệp.
Và để làm điều này, tôi sẽ thêm đối số thứ hai vào hàm lưu, đây sẽ là tên của tệp này, nơi
chúng tôi muốn lưu mô hình và trình tối ưu hóa của chúng tôi.
Vì vậy, hãy nhớ rằng tôi đã cho bạn xem một bản demo nhanh trong phần đầu tiên của mô-đun đầu tiên này, xe tự lái.
Bạn biết đấy, đó là bản demo mà chúng tôi chỉ có một số hành động ngẫu nhiên.
Vì vậy, đó vẫn chưa phải là một chiếc xe tự lái.
Nhưng sau đó hãy nhớ rằng tôi đã nhấp vào nút lưu để lưu mô hình và điều này đã tạo ra tệp PTA chấm
não cuối cùng, đây là tệp chứa phiên bản đã lưu của mô hình của bạn.
Vì vậy, tôi sẽ thêm vào đây PTA dấu chấm não cuối cùng để mô hình của bạn và trình tối ưu hóa của bạn sẽ được lưu
vào tệp đã tạo này ít não hơn.
Vì vậy, bạn chưa có nó được nêu ra.
Nhưng ngay sau khi bạn lưu mô hình của mình trong ứng dụng, tệp này sẽ được tạo nhờ mã này mà chúng
tôi vừa thêm.
Được rồi.
Và như vậy bây giờ hoàn hảo.
Chúng tôi có chức năng lưu sẽ lưu mô hình của bạn, lưu bộ não của ô tô của bạn bằng cách lưu trọng
lượng và trình tối ưu hóa mạng nơ ron.
Trên thực tế, đó là bộ não của chiếc xe.
Rất hoàn hảo.
Bây giờ chúng ta chỉ có một chức năng duy nhất là tạo bên trái.
Đó là chức năng tải.
Và đó là bởi vì chức năng lưu không bao giờ đi mà không có chức năng tải.
Bạn biết đấy, không có mục đích lưu mô hình của bạn nếu bạn không thể tải những gì bạn lưu sau đó.
Vì vậy, đó là bước cuối cùng trong hành trình của chúng ta trước khi có bản demo thú vị và chúng ta sẽ tạo hàm tải
này trong hướng dẫn cuối cùng của phần này.
Vì vậy, tôi sẽ gặp bạn trong hướng dẫn tiếp theo này.
Và cho đến khi đó, hãy tận hưởng tôi.