TrưỜng đẠi họC ĐIỆn lực khoa đIỆn tử viễn thông tiểu luận môn họC: KỸ thuật lập trìNH TROng đtvt



tải về 0.86 Mb.
Chế độ xem pdf
trang17/20
Chuyển đổi dữ liệu22.06.2022
Kích0.86 Mb.
#52442
1   ...   12   13   14   15   16   17   18   19   20
Nguyễn-Việt-Dũng-18810540050-D13DTKTMT
DeCuongOnThi NhapMonTinHoc K1 2021 D15 Đã sửa
Lý do chọn bài toán: Trong Machine learning hệ thống nhận diện sẽ bao gồm 
nhiều công đoạn phức tạp. Để hoàn thiện lên hệ thống đó thì chúng ta cần nhận diện được 
những thứ cơ bản như: nhận diện mặt người, nhận diện đồ vật, nhận diện hình dạng.  
Nhận diện mặt chữ là một bài toán điển hình để có thể tiến đến các hệ thống khác.
BÀI TOÁN: “ NHẬN DIỆN CHỮ VIẾT TAY” 
Hệ thống OCR, OCR là thuật ngữ được viết tắt từ Optical Character Recognition ( 
Nhận dạng ký tự quang học). Đây là ứng dụng công nghệ chuyên dùng để đọc text ở file 
ảnh, nhận dạng các ký tự, chữ viết tay, hay chữ đánh máy, có khả năng kỹ thuật số nhiều 
dạng tài liệu như: hóa đơn, hộ chiếu, danh thiếp, tài liệu, … 
5.2. Cài đặt thư viện 
- OpenCV – Python 
- Tensorflow: thư viện phần mềm mã nguồn mở dành cho máy học trong nhiều 
loại hình tác vụ nhận thức và hiểu ngôn ngữ 
- Keras: thư viện phần mềm mã nguồn mở cung cấp giao diện Python cho các 
mạng nơ-ron nhân tạo. 
- Matplotlib: thư viện vẽ đồ thị cho ngôn ngữ lập trình Python và phần mở rộng 
toán học số NumPy của nó 
- Numpy: thư viện cho ngôn ngữ lập trình Python, thêm hỗ trợ cho các mảng và 
ma trận lớn, đa chiều, cùng với một tập hợp lớn các hàm toán học cấp cao để 
hoạt động trên các mảng này. 
5.3. Bài toán và code: BÀI TOÁN: “ NHẬN DIỆN CHỮ VIẾT TAY” 
5.3.1.
 
CNN – mạng nơ-ron tích chập ( Convolutional Neural Netword ) 
Code:
 


Kỹ thuật lập trình PYTHON Giảng Viên Hướng Dẫn: TS. Lê Trọng Hiếu 
27 
 
Bước 3: 
from keras.models import Sequential 
from keras.layers import Conv2D 
from keras.layers import MaxPooling2D 
from keras.layers import Flatten 
from keras.layers import Dense 
from keras.preprocessing.image import ImageDataGenerator 
from keras.layers import Dropout 
from keras.models import model_from_json 
classifier = Sequential() 
classifier.add(Conv2D(36, (3, 3), input_shape = (30, 30, 3),strides=1, activation = 'relu')) 
classifier.add(MaxPooling2D(pool_size = (2, 2))) 
classifier.add(Conv2D(72, (3, 3),strides = 2, activation = 'relu')) 
classifier.add(MaxPooling2D(pool_size = (2, 2))) 
classifier.add(Flatten()) 
classifier.add(Dense(units = 256, activation = 'relu')) 
classifier.add(Dropout(0.1)) 
classifier.add(Dense(units = 14, activation = 'softmax')) 
classifier.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy']) 
train_datagen = ImageDataGenerator(rescale = 1./255,shear_range = 0.1,zoom_range = 0.1) 
training_set = train_datagen.flow_from_directory('training_set',batch_size = 
5,target_size=(30,30)) 
test_datagen = ImageDataGenerator(rescale = 1./255) 
test_set = train_datagen.flow_from_directory('test_set',batch_size = 2,target_size=(30,30)) 
from keras.callbacks import ModelCheckpoint 
filepath = "BestWeights14.h5" 
checkPoint = ModelCheckpoint(filepath,monitor="val_acc",save_best_only= True, mode 
='max') 
callbacks_list = [checkPoint] 
classifier.fit_generator(training_set,epochs = 54,validation_data = test_set, validation_steps = 35, 
callbacks=callbacks_list) 


Kỹ thuật lập trình PYTHON Giảng Viên Hướng Dẫn: TS. Lê Trọng Hiếu 
28 

tải về 0.86 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   12   13   14   15   16   17   18   19   20




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương