Hiểu MNIST data và bits per pixel

hiểu MNIST data và bits per pixel www.phantichdautu.com

Hiểu MNIST data và bits per pixel

MNIST data được sử dụng nhiều trong machine learning và đặc biệt deep learning. Những nghiên cứu gần đây cho thấy ứng dụng deep learning trong giao dịch là khả thi. Để có thể chuyển các ý tưởng của việc xử lý ảnh sang giao dịch deep learning. Thì hiểu rõ MNIST data là cần thiết. Và chắc không thiếu sự liên quan tới khái niệm bits per pixel.

1) Bits per pixel liên quan mã hóa ảnh

Như đã đề cập trong bài Hiểu Bitcoin, số 1 bit là 0 hoặc 1; số 2 bits gồm: 00, 01, 10, 11. Dữ liệu phải được mã hóa về những số nhị phân (có số 0 hoặc số 1) để máy tính hiểu. Nếu dữ liệu là màu sắc của ảnh thì chữ bit người ta đổi thành bits per pixel (bpp) để dễ phân biệt. Sự liên quan giữa màu sắc ảnh và bpp như sau:
  • 1 bpp đại diện cho 2 màu: trắng hoặc đen.
  • 2 bpp đại diện cho 4 màu: trắng và các màu khác trắng.
  • n bpp đại diện cho 2^{n} màu.
Đặc biệt, 8 bpp đại diện cho thang ảnh xám. Như vậy thang ảnh xám có 256 màu được đại diện bằng các con số từ 0 tới 255.

2) Bộ dữ liệu MNIST

MNIST data là dữ liệu thể hiện các chữ số viết bằng tay từ 0 tới 9. Hình ảnh miêu tả như sau:
hiểu MNIST data và bits per pixel1 -www.phantichdautu.com
hiểu MNIST data và bits per pixel1 -www.phantichdautu.com
Mỗi một ảnh của một chữ số được đưa về kích thước  28 (pixel) x 28 (pixel). Như vậy có 784 pixels đại diện cho một ảnh. Lấy ví dụ cho chữ số 8 như sau:
hiểu MNIST data và bits per pixel2 www.phantichdautu.com
hiểu MNIST data và bits per pixel2 www.phantichdautu.com
Mỗi một pixels được đại diện bởi một con số. Con số này không vượt quá 255 vì đây là thang ảnh xám có 8 bpp.

3) Visualize MNIST data

Bởi vì sự phát triển của tensorflow và keras trong sử dụng machine learning và deep learning. Chúng ta sẽ cài đặt tensorflow và keras cho R để sử dụng. Vì tensorflow được viết bằng ngôn ngữ C++, và được cộng đồng python bắt cầu qua ngôn ngữ này. Chúng ta cần phải cài tensorflow cho python, rồi sau đó chạy cài keras trong R. Các bước cài như sau
  • Tải Anaconda tại đây. Chúng ta chọn Anaconda có python 3.7 để tải.
  • Cài Anaconda và không check add path. Add path khi cần thiết gọi trong command prompt.
  • Mở Anaconda Prompt. Gõ vào cd “C:\” rồi nhấn enter
  • Gõ conda create –n tfp3.7 python=3.7 rồi nhấn enter để tạo môi trường. Chính xác là thư mục tfp3.7 nằm trong envs của C:\Anaconda3
  • Gõ activate tfp3.7 nhấn enter.
  • Gõ: pip install –upgrade tensorflow để cài tensorflow
  • Chờ cài tensorflow thành công. Gõ pip install –upgrade keras để cài keras
  • Mở Rstudio gõ install.packages(‘keras’).
Như vậy là chúng ta cài xong tensorflow, keras trong R. Bây giờ chúng ta chạy một loạt lệnh sau để visualize MNIST data.

library(keras)
mnist <- dataset_mnist()
x_train <- mnist$train$x
y_train <- mnist$train$y
par(mfcol=c(2,6))
par(mar=c(0, 0, 3, 0), xaxs='i', yaxs='i')
for (ind in 1:12) {
img <- x_train[ind,,]
img <- t(apply(img, 2, rev))
image(1:28, 1:28, img, col=gray((0:255)/255),
xaxt='n', main=paste(y_train[ind]))
}

Xuất ra hình ảnh như sau
hiểu MNIST data và bits per pixel3 www.phantichdautu.com
hiểu MNIST data và bits per pixel3 www.phantichdautu.com

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *