Sharecs.net
  • Trang chủ
  • Thủ Thuật
    • Thủ thuật máy tính
      • Windows
      • MacOS
      • Linux
    • Thủ thuật internet
    • Thủ thuật phần mềm
  • Phần Mềm
  • Lỗi máy tính
    • Lỗi internet
    • Lỗi windows
    • Lỗi phần mềm
  • Lập Trình
    • Lập Trình Java Web
    • Lập trình Python
    • Lập Trình React Native
    • Code Hay
    • Khóa Học
No Result
View All Result
  • Trang chủ
  • Thủ Thuật
    • Thủ thuật máy tính
      • Windows
      • MacOS
      • Linux
    • Thủ thuật internet
    • Thủ thuật phần mềm
  • Phần Mềm
  • Lỗi máy tính
    • Lỗi internet
    • Lỗi windows
    • Lỗi phần mềm
  • Lập Trình
    • Lập Trình Java Web
    • Lập trình Python
    • Lập Trình React Native
    • Code Hay
    • Khóa Học
No Result
View All Result
Sharecs.net
No Result
View All Result
Home Lập Trình Python

Nhận Diện Chó Mèo Python – Tensorflow – Neural Network – Deep Learning

Nguyễn Tuấn by Nguyễn Tuấn
07/01/2021
1
0
SHARES
32
VIEWS

Trong bài này mình muốn chia sẻ cho các bạn cách để nhận diện chó mèo python sử dụng TENSORFLOW – MẠNG NƠ RON – DEEP LEARNING.

Một số yêu cầu khi code: Tensorflow 2, Python 3 và tải các thư viện bổ sung, tìm hiểu mạng CNN cho ảnh.

Đầu tiên chúng ta cần import một số thư viện cần dùng như sau:

Nhận Diện Chó Mèo Python
Nhận Diện Chó Mèo Python

Định dạng lại ảnh cho đầu vào:

code python dịnh dạng ảnh
định dạng lại ảnh

Tiếp đến là import data train và tạo mảng chứa các labels:

import data train in python
import data train in python

Xong mình sẽ định danh các mục và tên:

Neural Network
Neural Network

Tiếp đến sẽ khởi tạo mạng nơ ron và các lớp Layer để sử lý dữ liệu:

code nhận diện chó mèo
code nhận diện chó mèo
from keras.callbacks import EarlyStopping, ReduceLROnPlateau
earlystop = EarlyStopping(patience = 10)
learning_rate_reduction = ReduceLROnPlateau(monitor = 'val_accuracy',patience = 2,verbose = 1,factor = 0.5,min_lr = 0.00001)
callbacks = [earlystop,learning_rate_reduction]

df["category"] = df["category"].replace({0:'cat',1:'dog'})
train_df,validate_df = train_test_split(df,test_size=0.20,random_state=42)
train_df = train_df.reset_index(drop=True)
validate_df = validate_df.reset_index(drop=True)
total_train=train_df.shape[0]
total_validate=validate_df.shape[0]
batch_size=20

train_datagen = ImageDataGenerator(rotation_range=15,
                                rescale=1./255,
                                shear_range=0.1,
                                zoom_range=0.2,
                                horizontal_flip=True,
                                width_shift_range=0.1,
                                height_shift_range=0.1
                                )
train_generator = train_datagen.flow_from_dataframe(train_df,
                                                 "./dogs-vs-cats/train/",x_col='filename',y_col='category',
                                                 target_size=Image_Size,
                                                 class_mode='categorical',
                                                 batch_size=batch_size)
validation_datagen = ImageDataGenerator(rescale=1./255)
validation_generator = validation_datagen.flow_from_dataframe(
    validate_df, 
    "./dogs-vs-cats/train/", 
    x_col='filename',
    y_col='category',
    target_size=Image_Size,
    class_mode='categorical',
    batch_size=batch_size
)

epochs=10
history = model.fit_generator(
                              train_generator,
                              epochs=epochs,
                              validation_data=validation_generator,
                              validation_steps=total_validate//batch_size,
                              steps_per_epoch=total_train//batch_size,
                              callbacks=callbacks
                              )


model.save("Model1.h5")


#from keras.models import load_model
#model = load_model('Model.h5')

test_filenames = os.listdir("./dogs-vs-cats/test1")
test_df = pd.DataFrame({'filename': test_filenames})
nb_samples = test_df.shape[0]

########### fixed
test_datagen = ImageDataGenerator(rescale=1./255)
test_generator = test_datagen.flow_from_dataframe(test_df,"./dogs-vs-cats/test1/",
                                                  target_size=Image_Size,
                                                  batch_size=batch_size, class_mode=None,
                                                  shuffle=False
                                                  )
predict = model.predict_generator(test_generator, steps=np.ceil(nb_samples/batch_size))
###########end - fixed
test_df['category'] = np.argmax(predict, axis=-1)
label_map = dict((v,k) for k,v in train_generator.class_indices.items())
test_df['category'] = test_df['category'].replace(label_map)
test_df['category'] = test_df['category'].replace({ 'dog': 1, 'cat': 0 })

sample_test = test_df.head(18)
sample_test.head()
plt.figure(figsize=(12, 24))
for index, row in sample_test.iterrows():
    filename = row['filename']
    category = row['category']
    img = load_img("./dogs-vs-cats/test1/"+filename, target_size=Image_Size)
    plt.subplot(6, 3, index+1)
    plt.imshow(img)
    plt.xlabel(filename + '(' + "{}".format(category) + ')' )
plt.tight_layout()
plt.show()


results={
    0:'cat',
    1:'dog'
}
from PIL import Image
import numpy as np
im=Image.open("./dogs-vs-cats/test/9.jpg") #fixed 
im=im.resize(Image_Size)
im=np.expand_dims(im,axis=0)
im=np.array(im)
im=im/255
pred=model.predict_classes([im])[0]
print(pred,results[pred])

Chạy chương trình:

  1. Python Module.py –> huấn luyện mạng nơ ron và lưu mô hình pre-trained với tên Model.h5
  2. Chú ý chương trình dạy khá lâu với 10 epochs. Code: model.save(“Model1.h5”)
  3. Python gui.py –> chạy giao diện, dự đoán ảnh (sử dụng mô hình đã train Model.h5) Code: model = load_model(‘Model.h5’)

Để xem nhiều hơn về Python các bạn có thể xem tại đây nhé.

Cảm ơn các bạn đã ghé thăm. Chúc các bạn thành công!

5 / 5 ( 1 bình chọn )
Tags: code python hayNeural NetworkpythonTensorflow
ShareSendTweetShare

Cùng chuyên mục

Code Python Thuật Toán Logistic Regression

Code Python Thuật Toán Logistic Regression

07/01/2021
10
Bài Tập Code Python Đơn Giản Có Lời Giải – Phần 1

Tạo ứng dụng Chat Socket trong Python mô hình Client – Server

16/11/2020
91
Bài Tập Code Python Đơn Giản Có Lời Giải – Phần 1

Bài tập xử lý ảnh có lời gải – code python ( OpenCV )

16/11/2020
55
Bài Tập Code Python Đơn Giản Có Lời Giải – Phần 1

Bài Tập Code Python Đơn Giản Có Lời Giải – Phần 2

31/08/2020
109
Subscribe
Notify of
guest
guest
1 Comment
Newest
Oldest Most Voted
Inline Feedbacks
View all comments

Mạng Xã Hội

Bài Đăng Phổ Biến

  • PicsArt Gold Full Crack Bản Quyền Mới Nhất 2020

    PicsArt Gold Full Crack Bản Quyền Mới Nhất 2020

    1 shares
    Share 0 Tweet 0
  • Fake Giấy Tờ Xác Minh Doanh Nghiệp Trên Facebook

    0 shares
    Share 0 Tweet 0
  • Canva Pro Full Crack Bản Quyền Mới Nhất

    0 shares
    Share 0 Tweet 0
  • App VSCO Full Màu Crack Bản Quyền Dùng Miễn Phí

    0 shares
    Share 0 Tweet 0
  • Luminar 4 Full Crack – Trình chỉnh sửa ảnh 2020

    1 shares
    Share 0 Tweet 0

Phản hồi gần đây

  • Nguyễn Tuấn trong Fake Giấy Tờ Xác Minh Doanh Nghiệp Trên Facebook
  • Nguyễn Tuấn trong Fake Giấy Tờ Xác Minh Doanh Nghiệp Trên Facebook
  • tùng trong Fake Giấy Tờ Xác Minh Doanh Nghiệp Trên Facebook
  • tùng trong Fake Giấy Tờ Xác Minh Doanh Nghiệp Trên Facebook

Bạn bè & Đối tác

Máy tăm nước – Vnteeth

Giới Thiệu


Sharecs.net là một website/blog cá nhân, chuyên chia sẻ những kiến thức xoay quanh công nghệ như máy tính, internet, phần mềm, lập trình,... Mình hi vọng, Sharecs sẽ mang lại những kiến thức mà bạn chưa từng được học trên ghế nhà trường!

  • Giới Thiệu & Liên Hệ
  • Chính Sách Bảo Mật

DMCA.com Protection Status Copyright © 2020 - Chia sẻ cuộc sống công nghệ by Sharecs.

No Result
View All Result
  • Trang Chủ
  • Thủ Thuật
    • Thủ thuật máy tính
      • Windows
      • MacOS
      • Linux
    • Thủ thuật internet
    • Thủ thuật phần mềm
  • Phần Mềm
  • Lỗi máy tính
    • Lỗi internet
    • Lỗi phần mềm
    • Lỗi windows
  • Lập Trình
    • Lập Trình Java Web
    • Lập trình Python
    • Lập Trình React Native
    • Code Hay
    • Khóa Học

DMCA.com Protection Status Copyright © 2020 - Chia sẻ cuộc sống công nghệ by Sharecs.