‫Bây giờ chúng ta đã thấy một hình ảnh trông như thế nào, dạng chuyên sâu.
‫Hãy xây dựng chức năng nhỏ này để thực hiện các bước ở đây.
‫Vì vậy, những gì chúng tôi có thể làm chỉ là sao chép chúng để chúng tôi có thể xem chúng ở bên dưới.
‫Và tôi sẽ chỉ viết một ô nhỏ ở đây.
‫Bây giờ, chúng ta đã thấy một hình ảnh trông giống như một tensor.
‫Hãy tạo một hàm để xử lý trước chúng.
‫Được rồi.
‫Và những gì chúng tôi có thể làm là xác định một biến ở đây kích thước hình ảnh 224 và bạn có thể tự hỏi.
‫Giống như tôi luôn làm khi tôi thấy những thứ như thế này mà không được giải thích.
‫224 là gì?
‫Tôi lấy cái đó ở đâu?
‫Chà, chúng ta sẽ thấy điều đó trong video sau khi chúng ta chọn ra một mô hình học máy mà chúng ta có thể
‫sử dụng.
‫Và rất nhiều công nghệ máy học đang sắp xếp kích thước đầu vào hoặc hình dạng đầu vào của bạn, trong trường
‫hợp của chúng tôi là hình ảnh với mô hình mà bạn đang sử dụng.
‫Một lần nữa, chúng tôi sẽ đề cập đến vấn đề này sau.
‫Nhưng về cơ bản, chúng tôi đảm bảo rằng hình ảnh của chúng tôi mà chúng tôi cung cấp vào một mô
‫hình học máy có hình dạng này với chiều cao từ 24 đến 24 rộng, bởi vì đó là mô hình học máy mà chúng tôi sẽ sử dụng được
‫đào tạo trên hình ảnh với cùng hình dạng đó, hãy nhớ điều quan trọng là phải cung cấp dữ liệu ở cùng một định dạng
‫và hình dạng cho mô hình học máy của bạn như mô hình học máy đã được đào tạo khi bạn cố gắng đưa ra
‫dự đoán.
‫Nhưng chúng ta sẽ thấy điều đó trong thực tế sau này.
‫Nhưng hãy đúng chức năng này.
‫Vì vậy, hãy tạo một hàm để xử lý trước hình ảnh.
‫Vì vậy, tôi sẽ gọi đây là hình ảnh quy trình đơn giản và đẹp mắt.
‫Nó sẽ lấy một đường dẫn hình ảnh làm đầu vào.
‫Và.
‫Chuỗi doc nhỏ có thể gắn thẻ một đường dẫn tệp hình ảnh và biến hình ảnh thành một tensor.
‫Một cái gì đó đơn giản như vậy.
‫Chúng tôi có thể làm cho nó trực quan hơn một chút sau này, nhưng bắt đầu, điều đó đủ
‫để tự giải thích.
‫Vì vậy, chúng tôi muốn đọc trong một tệp hình ảnh và để làm điều đó, chúng tôi sẽ lưu nó vào một biến có tên là hình ảnh.
‫Và nếu chúng ta đọc qua việc tải hình ảnh bây giờ, bạn cũng có thể làm điều này cho các loại dữ liệu khác, phải không?
‫Có dữ liệu văn bản ở đó.
‫Có gấu trúc, khung dữ liệu, numpy, csv.
‫Nhưng đọc qua đó, chúng ta thấy rằng chúng ta có thể vào IO cho input, output, read, file.
‫Chúng ta bắt đầu.
‫Nó nói gì.
‫Đọc và xuất toàn bộ nội dung của tên tệp đầu vào.
‫Điều đó có ý nghĩa.
‫Trả về một chuỗi kiểu tensor.
‫Xinh đẹp.
‫Hãy làm đường dẫn hình ảnh, nhưng đừng dùng lời của tôi cho nó.
‫Những gì chúng tôi sẽ làm là và tôi cũng muốn bạn áp dụng phương pháp này.
‫Nếu bạn từng thấy một chức năng mà bạn không hoàn toàn chắc chắn về chức năng đó.
‫Viết lại từng dòng một.
‫Vì vậy, chúng ta hãy kiểm tra điều này.
‫Chúng ta sẽ đi tensor bằng t io đọc, đọc, tệp, và sau đó chúng ta cần một đường dẫn hình ảnh.
‫Vì vậy, chúng tôi sẽ làm tên tệp.
‫Tôi 26 tuổi, vì vậy chúng tôi sẽ lấy tên tệp.
‫26.
‫Và nó trông như thế nào?
‫Ồ.
‫Vì vậy, nó là hình dạng của một chuỗi.
‫Và sau đó là một loạt các ký tự, tôi không hiểu, nhưng đó là một điều ổn vì máy
‫tính hiểu chúng tốt hơn tôi.
‫Vì vậy, những gì nó được thực hiện là nó chỉ lấy tên tệp và chuyển nội dung thành.
‫Điều này kéo dài, căng thẳng.
‫Tuyệt vời.
‫Vì vậy, bước tiếp theo, sử dụng TensorFlow để đọc tệp.
‫Lưu nó vào hình ảnh.
‫Chuẩn rồi.
‫Chuyển hình ảnh của chúng ta một jpeg thành các thì.
‫Được rồi, vậy hãy làm điều đó.
‫Chuyển hình ảnh JPEG thành tensor số với ba kênh màu.
‫Mưa đỏ.
‫Màu xanh da trời.
‫Và một lần nữa, hãy kiểm tra tài liệu tải hình ảnh.
‫Vì vậy, chúng tôi đang sử dụng lại biến này ở đây.
‫Bây giờ chúng ta sẽ đặt lại nó thành b tf.
‫Giải mã chấm hình ảnh.
‫Xem cách chúng tôi có một số tùy chọn ở đây.
‫Chúng tôi có PNG, là loại tệp hình ảnh.
‫Chúng ta sẽ sử dụng JPEG vì hình ảnh của chúng ta ở dạng ảnh JPEG và sau đó chúng ta chuyển nó vào biến.
‫Kênh truyền hình.
‫Các kênh Atta cho biết số lượng kênh màu mong muốn cho hình ảnh được giải mã.
‫Trong trường hợp của chúng tôi, chúng tôi muốn ba, bốn, đỏ, xanh lá cây và xanh lam.
‫Xinh đẹp.
‫Bây giờ, một lần nữa, nếu chúng tôi muốn kiểm tra chính xác điều này đang làm.
‫Hãy lấy tensor và đi giải mã hình ảnh chấm tf.
‫JPEG.
‫Chúng tôi sẽ dùng tensor và sau đó chúng tôi sẽ đi.
‫Các kênh bằng ba.
‫Ồ, nhìn kìa.
‫Họ có cùng một loại dữ liệu như chúng tôi có ở đây.
‫Tuyệt vời.
‫Được rồi.
‫Bây giờ, để tiết kiệm thời gian, chúng ta sẽ viết thêm một vài dòng trong hàm này, nhưng chúng
‫ta sẽ không thực hiện các bước tương tự.
‫Đó là điều tôi muốn.
‫Tôi muốn bạn có một số thực hành làm.
‫Nếu bạn thấy một chức năng và bạn tò mò muốn biết chức năng đó hoạt động như thế nào.
‫Hãy thử viết nó ra từng dòng và xem điều gì sẽ xảy ra.
‫Vì vậy, bạn sẽ phải tin tưởng tôi với những gì những dòng này làm.
‫Vì vậy, hãy chuyển đổi giá trị kênh màu.
‫Vì vậy, đây được gọi là chuẩn hóa.
‫Tôi sẽ viết mã trước và sau đó cho bạn biết về nó từ 0 đến 2, 55 đến 0 đến một giá trị.
‫Vì vậy, chúng ta muốn đi image bằng TF để chuyển đổi image d type image tf float 32.
‫Bây giờ docstring nói gì ở đây?
‫Chuyển đổi hình ảnh sang loại d để chia tỷ lệ các giá trị của nó nếu cần.
‫Hình ảnh được biểu diễn bằng giá trị dấu phẩy động được mong đợi có giá trị trong phạm vi
‫không một.
‫Tuyệt vời.
‫Bây giờ bạn có thể đang nghĩ, làm thế nào?
‫Làm sao bạn biết được điều này, Daniel?
‫Làm thế nào để bạn biết rằng bạn phải chuyển nó từ 0 đến 55 thành giữa 0 và 1?
‫Thực ra thì, tôi đã nói dối.
‫Tôi đã nói rằng chúng tôi sẽ không xem xét điều đó, nhưng đây là một điều tốt để điều tra.
‫Hãy căng lên để bạn có thể thấy, chúng tôi có các giá trị ở đó từ 0 đến 255 và bây giờ.
‫Tôi sẽ chạy cái này.
‫Ồ, không, tôi thực sự không muốn điều đó làm mình rối tung lên ở đây.
‫Chạy lại cái này.
‫Vì vậy, tôi chỉ muốn chứng minh điều này đang làm.
‫Vì vậy, hình ảnh chuyển đổi.
‫Vì vậy, về cơ bản tất cả những gì nó đang làm là nó chuyển đổi các giá trị của chúng ta, nó chia tỷ lệ chúng thay vì nằm trong khoảng từ
‫0 đến 255.
‫Bây giờ chúng nằm giữa 0 và 1 với cùng thang điểm.
‫Phao 32.
‫Ồ.
‫Tầng nổi 32.
‫Tuyệt vời.
‫Vì vậy, chúng tôi có cùng một hình dạng.
‫Nhưng bây giờ thay vì nằm giữa 0 và 2 hoặc 55, chúng nằm giữa 0 và 1.
‫Và bây giờ loại quy trình này làm cho việc tính toán trên những thứ này hiệu quả hơn.
‫Đó là điều bạn cần biết nhất.
‫Nó được gọi là bình thường hóa.
‫Và một lần nữa, đây chỉ là trực tiếp từ tài liệu tải hình ảnh.
‫Bây giờ, chúng ta phải làm gì?
‫Trên thực tế, tôi không nghĩ rằng chúng tôi đã có một bước ở đây cho điều đó.
‫Chúng tôi có thể phải đưa vào để chuẩn hóa hình ảnh của mình, chuyển đổi các giá trị kênh màu từ 0 đến 255 thành 0 thành 1.
‫Làm cho nó năm.
‫Sáu.
‫Được chứ.
‫Bây giờ, cuối cùng, chúng ta có thể thay đổi kích thước hình ảnh.
‫Bây giờ, bây giờ tôi tin rằng bạn tin tưởng tôi và những gì dòng này sẽ làm.
‫Vì vậy, chúng tôi sẽ không loại bỏ nó.
‫Tôi sẽ để lại điều đó cho bạn đến 24 tuổi.
‫Đến 24.
‫Vì vậy, về cơ bản là một hình vuông.
‫Một cách chính xác.
‫Thực ra là một hình vuông.
‫Thay đổi kích thước hình ảnh.
‫Thay đổi kích thước hình ảnh thành kích thước bằng cách sử dụng phương pháp đã chỉ định.
‫Và bây giờ chúng ta muốn thay đổi kích thước hình ảnh và kích thước sẽ là chiều cao.
‫Chờ đợi.
‫Bây giờ bạn thấy lý do tại sao chúng tôi xác định điều này ở đây.
‫Có lẽ rằng nếu chúng tôi viết hàm này tốt hơn một chút, chúng tôi có thể nhập kích thước hình ảnh dưới dạng kích thước hình ảnh.
‫Điều đó có lẽ tốt hơn một chút.
‫Tuyệt vời.
‫Và bây giờ bạn sẽ có được kiểu thực hành này khi bạn bắt đầu viết các hàm của riêng mình.
‫Lần đầu tiên bạn viết một hàm, có lẽ bạn sẽ khá tệ, khá khủng khiếp.
‫Nhưng sau đó khi bạn bắt đầu tìm ra quy trình làm việc của mình, bạn sẽ bắt đầu hiểu cách viết
‫một hàm tốt hơn.
‫Bây giờ chúng ta có thể trả lại hình ảnh.
‫Vậy điều này làm được gì?
‫Nó đã làm đúng như những gì chúng tôi vừa nói chưa.
‫Nó có một đường dẫn hình ảnh và một kích thước hình ảnh.
‫Chúng ta có thể xác định điều đó ở đây.
‫Nó đọc trong tệp hình ảnh từ tên đường dẫn đẹp.
‫Nó biến JPEG thành tensor số.
‫Vì vậy, chúng tôi chỉ chuyển đổi nó thành tensor với ba kênh màu đỏ, xanh lá cây và xanh lam, bởi vì đó
‫là quy ước cho hầu hết các mô hình hình ảnh học sâu.
‫Họ muốn màu đỏ.
‫Tôi nói đã đọc.
‫Không phải đó là một điều xấu.
‫Đọc là một điều tuyệt vời.
‫Sau đó, chúng tôi chuyển đổi các kênh màu từ 0 đến 55 thành các giá trị 0 thành 1 và cuối cùng chúng tôi thay đổi kích thước hình ảnh thành giá trị mong
‫muốn của chúng tôi.
‫Bây giờ chúng ta đã viết điều này trong một hàm, vì vậy điều tuyệt vời là chúng ta có thể sử dụng nó sau này.
‫Đây là những gì tôi đã từng làm, phải không?
‫Tôi đã từng chạy qua những dòng mã này mỗi khi tôi muốn xử lý một hình ảnh, quy trình công việc khủng khiếp để chúng
‫tôi thực sự có thể loại bỏ chúng.
‫Hãy nhớ rằng, nếu bạn muốn kiểm tra chức năng thực sự đang làm gì, hãy chia nhỏ nó ra từng dòng.
‫Nó lấy một đường dẫn hình ảnh làm đầu vào và sau đó xem phần còn lại của nó làm gì.
‫Bây giờ, tôi nghĩ vậy là đủ cho video này.
‫Chúng tôi đã tạo chức năng của mình, sẵn sàng xử lý một số hình ảnh.
‫Những gì chúng ta có thể làm bây giờ, một lần nữa, nếu chúng ta đọc qua dữ liệu tải trong TensorFlow, tôi nghĩ đó là cái
‫này.
‫Ừ, quay lại đây.
‫Ở đây có một phần nhỏ mà TensorFlow thích xem mọi thứ ở dạng lô.
‫Vì vậy, chúng tôi sẽ tìm ra những lô nào trong video tiếp theo.