Tin tổng hợp

Deep Learning – Bài 3: Training Model tuỳ chọn với Keras

  • 22/11/2021
  •  

    Chúng ta sẽ thực hiện bài toán phân loại đối tượng ( object classification) sử dụng Keras với Tensorflow

    Bước 1 : Chuẩn bị  tạo cây thư mục và các file có tên như sau:

    Trong đó thư mục animals chứa tập ảnh dataset về chó, mèo và thỏ

    Bước 2: Tải bộ dữ liệu của bạn từ ổ đĩa vào chương trình

    Tạo file train_simple_nn.py và thêm đoạn code sau:

    Thêm các thư viện:

    Tiếp theo xây dựng trình phân tích cú pháp và đọc đối số nhập vào

    Tải dữ liệu ảnh từ ổ đĩa

    Bước 3 : Xây dựng training và test

    hoàn thành theo code sau:

    Bước 4: Xác định kiến trúc mô hình Keras. Bước tiếp theo là xác định kiến ​​trúc mạng nơ-ron của chúng ta bằng Keras. Ở đây chúng ta sẽ sử dụng một mạng với một lớp đầu vào, hai lớp ẩn và một lớp đầu ra

    Bước 5: Biên dịch mô hình keras

    bước 6: Điều chỉnh mô hình với dữ liệu

    Bước 7:Đánh giá mô hình keras

    cuối cùng lưu mô hình đạo tạo lại:

    bạn mở terminal của pycharm gõ câu lệnh sau để chạy chương trình training như sau

    kết quả hiển thị như sau:

    Mạng này nhỏ và khi được kết hợp với một tập dữ liệu nhỏ, chỉ mất gần 2 giây mỗi epoch trên CPU.

    Ở đây, bạn có thể thấy rằng mạng đang có độ chính xác 54%.

    Vì có 1/3 cơ hội chọn ngẫu nhiên nhãn chính xác cho một hình ảnh nhất định, biết rằng mạng thực sự học được các mẫu có thể được sử dụng để phân biệt giữa ba lớp.

    Nội dung đánh giá chính:

    1.Mất đào tạo
    2.Mất xác thực
    3.Đào tạo chính xác
    4.Độ chính xác xác thực
    … Đảm bảo rằng có thể dễ dàng phát hiện ra trang bị thừa hoặc trang bị kém trong kết quả .

    Bước 8: Đưa ra dự đoán về dữ liệu mới bằng mô hình Keras

    Viết chương trình có tên predict.py theo code sau:

    trong đó:

    –image: Đường dẫn đến hình ảnh đầu vào
    – model:  đường dẫn mô hình đã đào tạo.
    –label-bin: Đường dẫn đến bộ  nhãn .
    – width: Chiều rộng của hình dạng đầu vào cho CNN
    –height: Chiều cao của hình ảnh đầu vào CNN
    –flatten: Chúng ta có nên làm phẳng hình ảnh hay không. Theo mặc định, sẽ không làm phẳng hình ảnh. Nếu bạn cần làm phẳng hình ảnh, bạn nên chuyển 1 cho đối số này.
    Tiếp theo, hãy tải hình ảnh và thay đổi kích thước dựa trên các đối số dòng lệnh:

    Và sau đó làm phẳng hình ảnh nếu cần:

    Từ đó, hãy tải mô hình + nhãn vào bộ nhớ và đưa ra dự đoán:

    hiển thị kết quả

    tiến hành chạy câu lệnh theo mẫu sau trong terminal:

    Ta thấy kết quả traing cho mô hình mèo cho kết quả kém nhất, tiến hành test với ảnh chó và thỏ

     

    . kết quả như sau