5.1 Ngơn ngữ lập trình Python
Python là một ngơn ngữ lập trình thơng dịch do Guido van Rossum tạo ra nưm 1990. Python được phát triển trong một dự án mã nguồn mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý.
Python là ngơn ngữ có hình thức sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới lập trình. Python giúp cho việc thực hiện giải thuật diễn ra một cách nhanh chóng, giúp người lập trình có thể tập trung vào việc thiết kế giải thuật thay vì phải tập trung vào những vấn đề thấp hơn như quản lý và cấp phát bộ nhớ. Python sử dụng hệ thống xác định kiểu động, cấp phát bộ nhớ động và hỗ trợ các phương pháp lập tình khác nhau như hướng đối tượng, thủ tục hoặc lập trình hàm. Python được dùng phổ biến trong nhiều lĩnh vực từ script batch trong linux, backend service trong web .v.v.v. Đặc biệt trong lĩnh vực Machine Learning với nhiều bộ thư viện hỗ trợ mạnh mẽ từ việc thu thập dữ liệu như Scrapy, quản lý và xử lý dữ liệu như pandas, trực quan hóa dữ liệu như matplotlib, giúp thực hiện nhanh chóng các mơ hình Machine Learning, Deep Learning bằng các bộ công cụ Scikit-Learn, Tensorflow, Kreas .v.v.v. Có thể nói Python là một ngơn ngữ có nhiều ứng dụng từ thực tế đến nghiên cứu khoa học.
5.2. Framework và Thư viện
5.2 Framework và Thư viện 5.2.1 Tensorflow
Tensorflow là một thư viện mã nguồn mở được phát triển bởi Google và được phát hành vào ngày 11/0/2015. Đây là một thư viện hỗ trợ người dùng xây dựng các mơ hình Machine Learning dưới dạng độ thị tính tốn và rất linh hoạt. Tensorflow hỗ trợ huấn luyện mơ hình trên GPU, TPU và huấn luyện dạng phân tán trên nhiều máy tính khác nhau. Tensorflow cung cấp đầy đủ các API để quản lý mơ hình từ lúc huấn luyện cho tới lúc đưa ra sử dụng.
5.2.2 Keras
Kera là một bộ thư viện cấp cao dùng cho việc xây dựng mơ hình Deep Learning và xây dựng trên nền thư viện Theano hoặc Tensorflow.
Ưu điểm của Keras là cung cấp các API thân thiện đối với người dùng so với Tensorflow. Bên cạnh đó, Keras cịn cung cấp các hàm cho việc tiền xử lý dữ liệu.
5.2.3 OpenCV
OpenCV được bắt đầu từ Intel vào năm 1999 bởi Gary Bradsky. OpenCV được viết tắt cho cụm từ Open Source Computer Vision Library. OpenCV là thư viện mã nguồn mở hàng đầu cho Computer Vision và Machine Learning được phát hành theo giấy phép BSD.
OpenCV có một cộng đồng người dùng hùng hậu hoạt động khắp thế giới bởi nhu cầu cần đến nó ngày càng tăng . OpenCV hiện được ứng dụng rộng rãi toàn cầu với cộng đồng hơn 47.000 người với nhiều mục đích và sử dụng các tính năng khác nhau.
5.3. Công cụ Jupyter NoteBook
5.3 Công cụ Jupyter NoteBook
Jupyter NoteBook cung cấp một giao diện cho phép người dùng chạy các dòng lệnh Python một cách tương tác. Việc chạy tương tác các dòng lệnh Python giúp cho việc viết code và debug dễ dàng, nhanh chóng hơn. Chưa kể phần NoteBook giúp chúng ta hiểu hơn về từng dịng lệnh cũng như các mơ tả output khi chạy. Jupyter NoteBook có thể chạy trên các trình duyệt dưới dạng một trang web mà trong đó các dịng lệnh sẽ được tổ chức thành các cell, mỗi cell có thể chứa nhiều dịng lệnh.