‫Vì vậy, bây giờ chúng tôi đã có một mô hình được đào tạo đầy đủ trên tập dữ liệu đào tạo đầy đủ, hay còn gọi là 10.000 hình ảnh bởi vì nếu chúng
‫ta nhìn vào X.
‫Chúng tôi có 10.000 hình ảnh và nhãn.
‫Bây giờ, hãy sử dụng mô hình được đào tạo đầy đủ của chúng tôi để đưa ra một số dự đoán.
‫Trên tập dữ liệu thử nghiệm, cũng là khoảng 10.000 hình ảnh.
‫Chúng tôi sẽ xem xét điều đó sau một giây.
‫Nhưng chúng ta hãy đến với Kaggle và xem như thế nào.
‫Họ muốn các dự đoán của chúng tôi xem xét.
‫Vì vậy, một tệp gửi cho mỗi hình ảnh trong bộ thử nghiệm, bạn phải dự đoán một xác suất cho mỗi
‫giống khác nhau.
‫Tệp phải chứa tiêu đề và có định dạng sau.
‫Vì vậy, chúng tôi cần một giống chó ID.
‫Tôi thậm chí sẽ không giả vờ rằng tôi sẽ cố gắng phát âm một lần nữa, chó săn Afghanistan, chó
‫săn Yorkshire và sau đó là xác suất dự đoán cho tất cả chúng.
‫Được rồi.
‫Bây giờ nó cho biết mất bản ghi đa thủy tinh.
‫Đó chỉ là xác suất dự đoán cho từng giống chó.
‫Tạo một phần tiêu đề khác đưa ra dự đoán trên tập dữ liệu thử nghiệm.
‫Bây giờ tôi muốn bạn suy nghĩ trước khi chúng ta xem qua mã.
‫Chúng ta đã phải làm gì để đào tạo người mẫu của chúng tôi trên các hình ảnh đào tạo?
‫Một lần nữa, giả sử đây là dữ liệu bất khả tri.
‫Bất kỳ dữ liệu nào bạn đang làm việc, cho dù đó là văn bản hoặc âm thanh hoặc hình ảnh hoặc video hoặc những thứ tương
‫tự.
‫Quy tắc của chúng tôi là gì trước khi chúng tôi có thể sử dụng nó với mô hình học máy?
‫Hoặc trong trường hợp của chúng tôi, một mạng nơ-ron học sâu.
‫Chúng ta phải chuyển nó thành số.
‫Vì vậy, đó là những gì chúng tôi phải làm, cùng một kiểu dữ liệu mà mô hình của chúng tôi đã được đào tạo.
‫Vì vậy, lô dữ liệu ở đây, lô dữ liệu của hình ảnh, chúng ta cần tạo một trong những hình ảnh đó trong số các hình
‫ảnh thử nghiệm để có thể đưa ra dự đoán về những hình ảnh đó.
‫Vì vậy, chúng tôi sẽ viết cho mình một lưu ý nhỏ vì mô hình của chúng tôi đã được đào tạo về hình ảnh dưới dạng hàng
‫chục lô.
‫Để đưa ra dự đoán về dữ liệu thử nghiệm.
‫Chúng tôi sẽ phải làm cho nó ở cùng một định dạng.
‫Vì vậy, nếu chúng ta quay lại đồ họa và bài phát biểu của mình, tôi nhớ cách tôi luôn nói rằng chúng ta đang tập trung vào các đầu vào.
‫Vì vậy, đưa dữ liệu của chúng tôi vào đúng hình dạng cho thuật toán học máy của chúng tôi và sau đó đảm bảo kết quả đầu
‫ra là chính xác.
‫Đây là những gì chúng tôi tập trung vào ban đầu.
‫Điều này đã được thực hiện cho chúng tôi theo một cách khá lớn.
‫Khi chúng ta ngày càng đi sâu hơn, khi bạn tham gia vào các dự án xa hơn, thì bạn có thể muốn bắt đầu đi sâu vào vấn
‫đề này.
‫Nhưng hiện tại và để tiếp cận các dự án đầu tiên của bạn như chúng tôi đang làm bây giờ, bạn
‫sẽ tập trung vào đầu vào và đầu ra.
‫Bây giờ, một chút thông tin nhỏ ở đây, một lần nữa, chức năng của chúng ta đang trở nên hữu ích.
‫May mắn thay, chúng tôi đã tạo ra các lô dữ liệu trước đó, có thể lấy danh sách tên tệp làm đầu vào.
‫Nếu bạn không nhớ, hãy quay lại nơi chúng tôi tạo các lô dữ liệu và chuyển đổi chúng thành các lô tensor.
‫Vậy chúng ta phải làm những bước nào để đưa ra dự đoán trên dữ liệu thử nghiệm?
‫Hãy viết chúng ra để đưa ra dự đoán về dữ liệu thử nghiệm.
‫Vâng, bây giờ, đây là loại điều tôi làm với rất nhiều dự án của mình là chỉ nói chuyện với chính mình, nói cho chính mình thông
‫qua nó.
‫Kỹ thuật chăn vịt cao su.
‫Vì vậy, lấy tên tệp hình ảnh thử nghiệm.
‫Điều đó sẽ liên quan đến việc chúng tôi chỉ viết một số hiểu danh sách nhỏ như chúng tôi đã làm trước đây.
‫Để truy cập thử nghiệm, hãy xem qua tất cả các tệp ở đây và lưu tên tệp vào một số loại danh sách.
‫Vâng, chúng tôi có thể làm điều đó.
‫Và sau đó chúng tôi phải chuyển đổi tên tệp thành các lô dữ liệu thử nghiệm bằng cách sử dụng các lô dữ liệu tạo.
‫Và thiết lập.
‫Các dữ liệu thử nghiệm.
‫Hãy nhớ cách chúng tôi đã tạo các tham số để tạo các lô dữ liệu?
‫Nếu bạn không, điều đó không sao.
‫Chúng ta sẽ xem trong tham số thứ hai là true bởi vì tại sao?
‫Dữ liệu kiểm tra của chúng tôi có gì khác với dữ liệu đào tạo của chúng tôi?
‫Không có nhãn với dữ liệu thử nghiệm.
‫Vì vậy, vì dữ liệu thử nghiệm không có nhãn và sau đó cuối cùng chúng tôi thực hiện một dự đoán, một mảng dự
‫đoán bằng cách chuyển các lô dữ liệu thử nghiệm đến dự đoán.
‫Phương thức được gọi trên mô hình của chúng tôi.
‫Tuyệt vời!
‫Chúng tôi có ba bước ở đó.
‫Nhưng chúng ta có thể làm được.
‫Chúng ta có thể giải quyết từng cái một.
‫Làm thế nào về chúng tôi bắt đầu với cái đầu tiên?
‫Điều đó khá hợp lý.
‫Tải tên tệp hình ảnh thử nghiệm.
‫Chúng ta có thể làm gì?
‫Chúng tôi có thể kiểm tra tên tệp.
‫Đẹp và đơn giản bằng.
‫Trên thực tế, bạn có thể thiết lập đường dẫn thử nghiệm.
‫Làm thế nào về chúng tôi làm điều đó?
‫Đường dẫn thử nghiệm bằng.
‫Và chúng tôi sẽ chỉ sao chép nó ở đây để tiết kiệm cho chúng tôi viết nó ra hai lần.
‫Sao chép đường dẫn.
‫Đó là một mẹo nhỏ hữu ích.
‫Bạn có thể làm điều đó.
‫Bạn có thể dán.
‫Chúng tôi không cần nội dung.
‫Chúng tôi chỉ có thể giữ nó ở đó nếu chúng tôi muốn, nhưng tôi sẽ xóa nó.
‫Vì vậy, nó phù hợp với các con đường khác mà chúng tôi có.
‫Và tôi sẽ đặt cái này ở đây.
‫Vì vậy, đó là đường dẫn của tôi đến thư mục thử nghiệm.
‫Vì vậy, bây giờ chúng ta sẽ tạo một danh sách nhỏ.
‫Sự hiểu biết bằng đường dẫn kiểm tra cộng với tên tệp tên f cho tên f trong danh sách chấm của o.
‫Đường dẫn thử nghiệm.
‫Bây giờ chúng ta đã thấy điều này trước đây khi tạo lại tên tệp đào tạo ban đầu, nhưng chúng ta hãy tự nhắc mình xem
‫nó đang làm gì.
‫Vì vậy, danh sách chấm của O chỉ đi qua hoặc thư mục này.
‫Đó là những gì viết tắt của nó.
‫Nó chỉ nói, Này, Python, hãy lấy cho tôi tất cả các tên tệp trong thư mục này và sau đó chúng
‫tôi đang tạo một danh sách nối với đường dẫn thử nghiệm, đây là hoặc thêm đường dẫn thử nghiệm cùng với
‫mọi tên tệp trong đó.
‫Thư mục thử nghiệm.
‫Chúng ta hãy có một cái nhìn.
‫Nếu nghi ngờ, hãy chạy mã.
‫Tuyệt vời.
‫Vì vậy, bây giờ chúng tôi đã có tên tệp cho dữ liệu thử nghiệm của chúng tôi.
‫Chúng ta có thể gỡ bỏ điều đó.
‫Nhận ra biểu tượng cảm xúc đánh dấu màu xanh lá cây.
‫Cuốn sổ này sẽ được lấp đầy bởi chúng vào cuối.
‫Được rồi, bây giờ chúng tôi đã có nó.
‫Bước tiếp theo của chúng ta là gì?
‫Chuyển đổi tên tệp thành các lô dữ liệu thử nghiệm bằng cách sử dụng tạo lô dữ liệu.
‫Ồ, tôi đã nói hẹn hò ở đó.
‫Sai rồi.
‫Chúng ta bắt đầu.
‫Sửa chữa nó lên.
‫Trước hết, chúng ta hãy kiểm tra độ dài tên tệp thử nghiệm của chúng ta, xem chúng ta có bao nhiêu hình ảnh.
‫10.357.
‫Tuyệt vời.
‫Vì vậy, bây giờ để tạo một lô dữ liệu, nó khá đơn giản.
‫Chúng tôi chỉ mang lại chức năng của chúng tôi.
‫Chúng tôi đi kiểm tra dữ liệu.
‫Chúng tôi sẽ viết một bình luận ở đây trước khi chúng tôi bắt đầu.
‫Vì vậy, hãy tạo dữ liệu thử nghiệm.
‫Lô hàng.
‫Và chúng ta sẽ tạo các lô dữ liệu.
‫Ồ, nó biết chúng ta đang nói về cái gì và sau đó chúng ta sẽ chuyển cho nó tên tệp thử nghiệm.
‫Và chúng tôi cũng sẽ thấy có mặt phẳng dữ liệu thử nghiệm của chúng tôi.
‫Vì vậy, chúng tôi đi kiểm tra dữ liệu bằng true.
‫Và chúng tôi sẽ chạy nó.
‫Tuyệt vời.
‫Chúng tôi nhận được một bản in nhỏ nói rằng tạo các lô dữ liệu thử nghiệm.
‫Như một chức năng tuyệt vời mà chúng tôi đã viết.
‫Hãy lên đây và nhìn lại nó một lần nữa.
‫Chuyển dữ liệu của chúng tôi thành hàng loạt.
‫Vì vậy, chúng tôi có một chức năng tạo lô dữ liệu hoặc tạo lô dữ liệu.
‫Và nó sẽ làm gì nếu đó là dữ liệu thử nghiệm, nó là dữ liệu thử nghiệm, nó in
‫ra một câu lệnh nhỏ này và sau đó nó đi, Này, hãy chuyển tên tệp của chúng ta thành các thì và sau đó sử dụng từ hàng chục lát để chuyển đổi
‫nó thành tập dữ liệu tensor và sau đó tạo một lô dữ liệu bằng cách ánh xạ hàm hình ảnh quá trình.
‫Hãy nhớ rằng, chúng tôi không chuyển nhãn get image cho tập dữ liệu thử nghiệm vì không có nhãn nào với tập dữ
‫liệu thử nghiệm.
‫Vì vậy, chúng tôi xử lý hình ảnh của mình giống như chúng tôi đã làm trên dữ liệu đào tạo, và sau đó chúng
‫tôi chuyển nó thành một lô, trong trường hợp của chúng tôi là các lô có kích thước 32 để nó có thể được tính toán thực sự nhanh chóng với GPU của chúng tôi.
‫Vì vậy, chúng ta hãy trở lại nơi chúng ta đã ở.
‫Đó là những gì chúng tôi đã có.
‫Và nếu chúng tôi đi kiểm tra dữ liệu.
‫Đó là một tập dữ liệu xấu về hình dạng.
‫Vì vậy, không có nhãn ở đây.
‫Đây chỉ là những hình ảnh từ 2 đến 4 x 2 đến 4 x 3 cho các kênh màu của loại TensorFlow float.
‫Rất đẹp.
‫Chúng tôi có dữ liệu thử nghiệm của chúng tôi ở dạng lô tensor.
‫Đó là những gì chúng tôi đang theo đuổi.
‫Và bây giờ là phần cuối cùng, chúng ta có thể lên đây, xem việc viết các hàm của chúng ta để bắt đầu đã giúp chúng ta thuận tiện như thế
‫nào.
‫Chúng tôi đã tạo một mô hình biểu mẫu, chúng tôi đã tạo một lô dữ liệu trong một lần truy cập.
‫Bây giờ chúng ta sẽ tạo một mảng dự đoán.
‫Vì vậy, làm thế nào chúng ta có thể làm điều đó?
‫Đưa ra dự đoán trên lô dữ liệu thử nghiệm bằng cách sử dụng mô hình đầy đủ đã tải.
‫Được rồi.
‫Vì vậy, hãy kiểm tra dự đoán.
‫Dự đoán dấu chấm mô hình đầy đủ được tải bằng nhau.
‫Dữ liệu thử nghiệm.
‫Chúng tôi sẽ đặt điều này thành bốn cung bằng một.
‫Xuất sắc.
‫Bây giờ, tôi phải cảnh báo bạn rằng điều này sẽ mất một thời gian khá dài.
‫Lý do là vì chúng ta hãy lưu ý một chút ở đây trước khi chúng ta chạy lệnh gọi ghi chú di động này.
‫Mặc dù chúng tôi đang chạy trên một CPU.
‫Điều này cũng giống như đào tạo mô hình điện thoại của chúng tôi.
‫Vì vậy, gọi dự đoán trên mô hình đầy đủ của chúng tôi và vượt qua nó.
‫Lô dữ liệu thử nghiệm sẽ mất nhiều thời gian để chạy.
‫Và sau đó nó sẽ là một cái gì đó giống như khoảng một giờ.
‫Chúng ta sẽ chỉ đi khoảng một giờ.
‫Đó là những gì tôi đã tìm thấy anyway.
‫Lý do là vì chúng tôi có 10.000 hình ảnh khác ở đây.
‫Và những gì chúng tôi phải làm là tải bốn mô hình của chúng tôi.
‫Vì vậy, tất cả các mẫu mà mô hình đầy đủ được tải của chúng tôi đã học được trong tập dữ liệu đào tạo.
‫Nó phải trải qua những quá trình đó.
‫10.000 hình ảnh trong tên tệp thử nghiệm hoặc lô dữ liệu thử nghiệm của chúng tôi.
‫Và sau đó đưa ra các dự đoán dựa trên các mẫu mà nó tìm thấy trong dữ liệu thử nghiệm đó.
‫Vì vậy, chúng tôi đã đặt độ dài bằng một để khi chúng tôi chạy điều này, nó sẽ cho chúng tôi một bước thời gian ngắn
‫nữa để cập nhật cho chúng tôi về những gì đang xảy ra.
‫Vì vậy, không cần thêm bất kỳ lời khuyên nào nữa, hãy chạy điều này.
‫Và đợi nó tải và sau đó chúng ta sẽ làm lại điều tương tự.
‫Tất cả đều tăng tốc video để video sẽ giống như được tải ngay lập tức cho bạn.
‫Trên thực tế, bạn sẽ mất một lúc để chạy ô này.
‫Trong thực tế, tôi sẽ mất một lúc để chạy ô này.
‫Nhưng tôi chỉ làm điều đó để cho bạn thấy điều đó.
‫Đang tải lên, tạo thông báo ETA, và sau đó thực hiện một số dự đoán về dữ liệu thử nghiệm.
‫Vì vậy, chúng tôi sẽ chỉ đợi một chút thời gian.
‫Điều này sẽ tăng lên.
‫Chúng ta bắt đầu.
‫Vì vậy, ETA, khoảng 38 phút.
‫Nó phải trải qua 324 lô.
‫Và đó là bởi vì nếu bạn lấy 10,357 chia cho 32.
‫Nó sẽ làm tròn con số đó lên đến 324.
‫Đó là nguồn gốc của con số đó.
‫Được chứ.
‫Vì vậy, tôi sẽ chờ đợi điều này được thông qua.
‫Bạn cũng có thể phải đợi nó đi qua.
‫Bạn không thực sự phải chờ đợi.
‫Tôi sẽ quay lại sau vài giây, vì vậy tôi sẽ tạm dừng video của mình ở đây và tôi sẽ quay lại
‫sau 3, 2, 1 và chúng ta sẽ quay lại.
‫Bây giờ, tôi đã đi và làm điều gì đó hơi táo tợn ở đây.
‫Như bạn thấy, chúng ta còn khoảng một giờ nữa, nhưng tôi nghĩ rằng bạn muốn tôi ngồi đây và đợi điều này.
‫Tôi thực sự, giống như bất kỳ đầu bếp giỏi nào đã làm.
‫Tôi đã chuẩn bị một món ăn trước đó, vì vậy tôi thực sự đã trải qua quá trình này và đợi đủ một giờ
‫để hoàn thành.
‫Và bây giờ bạn có thể chờ đợi thông tin của bạn.
‫Nhưng nếu bạn muốn tải xuống CSV được tạo trước của các dự đoán thử nghiệm, tôi sẽ đính kèm tệp đó trong phần tài nguyên
‫để bạn không phải đợi cả tiếng đồng hồ đó.
‫Và bây giờ có lẽ tôi nên nói với bạn điều này trước khi chạy ô này, nhưng tốt hơn hết là bạn
‫chỉ cần chân ướt chân ráo đi tìm cách làm tốt hơn.
‫Nếu chúng tôi muốn điều này để lưu các dự đoán thử nghiệm vào tệp CSV sau khi nó chạy qua bởi vì nếu chúng tôi đợi cả giờ để nó đi
‫qua và sau đó bằng cách nào đó, thời gian chạy của chúng tôi bị ngắt kết nối và nó không lưu, điều đó
‫sẽ khá thất vọng.
‫Vì vậy, những gì chúng ta có thể làm là sử dụng np save text chức năng này tại đây để lưu.
‫Điều này sẽ tải một chuỗi tài liệu trong khi điều này đang chạy?
‫Tôi không nghĩ nó sẽ làm được.
‫Nhưng điều này sẽ làm gì, chúng tôi đã quên mảng này.
‫Vì vậy, chúng ta hãy chỉ nói rằng điều này đã hoàn thành.
‫Nếu tôi chạy ô này sau nó, nó sẽ lưu các dự đoán thử nghiệm.
‫Vì vậy, mảng numpy này, là mảng xác suất dự đoán đối với tệp này dưới dạng CSV với dấu phân cách dấu phẩy bốn, dấu
‫phẩy, các giá trị được phân tách.
‫Và sau đó khi nó đã được lưu, nó sẽ xuất hiện.
‫Trong tệp của chúng tôi với tư cách là nhà sản xuất, CSV, vì đó là tên tệp mà chúng tôi đã đặt cho nó và sau đó chúng tôi có thể
‫sử dụng văn bản tải NP để tải lại.
‫Vậy chúng ta sẽ làm gì?
‫Thay vì đợi điều này kết thúc, tôi sẽ chỉ cho bạn thấy điều đó trong thực tế.
‫Vì vậy, đây là một số xác suất dự đoán mà tôi đã thực hiện trong quá khứ với một mô hình đầy đủ.
‫Vì vậy, tôi sẽ dừng việc này còn khoảng một giờ nữa.
‫Vì vậy, một lần nữa, ước tính của tôi sẽ mất khoảng một giờ là không chính xác.
‫Vì vậy, bàn phím gián đoạn.
‫Chúng ta bắt đầu.
‫Vì vậy, chúng tôi sẽ không chạy điều đó vì tôi đã lưu nó để nhấn mảng, nhưng tôi sẽ chạy
‫điều này.
‫Vì vậy, hãy giả sử tôi đã chạy cái này sau khi ô này đã hoàn thành.
‫Vì vậy, ETA này đã về không.
‫Vì vậy, tôi sẽ tải mảng này từ tệp CSV.
‫Xinh đẹp.
‫Bây giờ chúng ta hãy xem xét mười đầu tiên.
‫Chúng ta bắt đầu.
‫Vì vậy, đây là tất cả các xác suất dự đoán cho 10.000 hình ảnh.
‫Vì vậy, chúng ta hãy xem hình dạng của các dự đoán thử nghiệm.
‫10.357.
‫Vì vậy, đó là bao nhiêu hình ảnh thử nghiệm chúng tôi có.
‫Và mỗi người trong số họ có 120 xác suất dự đoán khác nhau.
‫Bây giờ, chúng ta đã thấy những giá trị này trước đây.
‫Và vì vậy hãy nhớ rằng, tôi vừa thực hiện điều này, hãy để nó chạy đến mức của nó, lưu CSV vào một tệp mà tôi đã thực hiện trước đó,
‫như thể chúng tôi đã nấu một cái gì đó trước đó và sau đó tôi vừa tải lại nó ở đây.
‫Nếu thời gian chạy của tôi bị ngắt kết nối, tôi muốn tệp này được lưu ở đâu đó mà tôi có thể truy cập sau.
‫Và vậy nhiệm vụ tiếp theo của chúng ta là gì?
‫Nếu chúng tôi muốn gửi mảng dự đoán này cho Kaggle, nó sẽ trông như thế nào?
‫Vì vậy, trình mẫu là ở đây.
‫Ồ, đã xảy ra lỗi.
‫Bạn đang để dữ liệu của mình.
‫Điều đó không vui lắm.
‫Nhưng may mắn thay, tôi đã có tệp này trong tầm nhìn của chó.
‫Và nó cũng giống như vậy.
‫Và tất cả những gì tôi đã làm là tôi vừa tải xuống và mở nó trong Google trang tính.
‫Vì vậy, đây là những gì nó trông như thế này.
‫Đây là, mẫu gửi mà chúng ta cần để đưa mảng dự đoán của chúng ta thành một thứ như thế này.
‫Vì vậy, một cột ID và sau đó là một cột cho mỗi giống chó khác nhau và sau đó là xác suất dự đoán của chúng.
‫Vì vậy, đó là những gì chúng tôi sẽ hướng tới trong video tiếp theo.
‫Chúng tôi sẽ nhận được mảng xác suất dự đoán của chúng tôi đối với thị lực của chó hoặc chúng tôi thực sự quay trở lại định
‫dạng nhận dạng giống chó Kaggle.
‫Vì vậy, chúng tôi sẽ thiết lập nó như vậy để chúng tôi có thể gửi cho Kaggle những dự đoán của chúng tôi.