EITC/AI/DLPP Deep Learning với Python và PyTorch là chương trình Chứng nhận CNTT Châu Âu về các nguyên tắc cơ bản của lập trình học sâu bằng Python với thư viện máy học PyTorch.
Chương trình giảng dạy của EITC/AI/DLPP Deep Learning với Python và PyTorch tập trung vào các kỹ năng thực hành trong lập trình Python học sâu với thư viện PyTorch được tổ chức theo cấu trúc sau, bao gồm nội dung video tổng hợp toàn diện làm tài liệu tham khảo cho Chứng chỉ EITC này.
Học sâu (còn được gọi là học có cấu trúc sâu) là một phần của họ các phương pháp học máy rộng hơn dựa trên mạng nơ-ron nhân tạo với học đại diện. Việc học có thể được giám sát, bán giám sát hoặc không giám sát. Các kiến trúc học sâu như mạng nơ-ron sâu, mạng tín ngưỡng sâu, mạng nơ-ron lặp lại và mạng nơ-ron tích tụ đã được áp dụng cho các lĩnh vực bao gồm thị giác máy tính, thị giác máy, nhận dạng giọng nói, xử lý ngôn ngữ tự nhiên, nhận dạng âm thanh, lọc mạng xã hội, dịch máy, tin sinh học , thiết kế thuốc, phân tích hình ảnh y tế, kiểm tra vật liệu và các chương trình trò chơi trên bàn cờ, trong đó chúng đã tạo ra kết quả tương đương và trong một số trường hợp vượt qua hiệu suất của chuyên gia con người.
Python là một ngôn ngữ lập trình thông dịch, cấp cao và có mục đích chung. Triết lý thiết kế của Python nhấn mạnh khả năng đọc mã với việc sử dụng đáng chú ý khoảng trắng đáng kể. Các cấu trúc ngôn ngữ và cách tiếp cận hướng đối tượng của nó nhằm mục đích giúp các lập trình viên viết mã rõ ràng, logic cho các dự án quy mô nhỏ và lớn. Python thường được mô tả như một ngôn ngữ “bao gồm pin” do thư viện tiêu chuẩn toàn diện của nó. Python thường được sử dụng trong các dự án trí tuệ nhân tạo và dự án máy học với sự trợ giúp của các thư viện như TensorFlow, Keras, Pytorch và Scikit-learning.
Python được định kiểu động (thực thi nhiều hành vi lập trình phổ biến trong thời gian chạy mà các ngôn ngữ lập trình tĩnh thực hiện trong quá trình biên dịch) và được thu gom rác (với quản lý bộ nhớ tự động). Nó hỗ trợ nhiều mô hình lập trình, bao gồm lập trình có cấu trúc (đặc biệt là thủ tục), hướng đối tượng và chức năng. Nó được tạo ra vào cuối những năm 1980, và được phát hành lần đầu tiên vào năm 1991, bởi Guido van Rossum như một người kế thừa cho ngôn ngữ lập trình ABC. Python 2.0, được phát hành vào năm 2000, đã giới thiệu các tính năng mới, chẳng hạn như khả năng hiểu danh sách và hệ thống thu thập rác với tính năng đếm tham chiếu, và đã bị ngừng với phiên bản 2.7 vào năm 2020. Python 3.0, được phát hành vào năm 2008, là một bản sửa đổi lớn của ngôn ngữ không hoàn toàn tương thích ngược và nhiều mã Python 2 không chạy không được sửa đổi trên Python 3. Với thời gian cuối của Python 2 (và pip đã ngừng hỗ trợ vào năm 2021), chỉ Python 3.6.x và mới hơn được hỗ trợ, với các phiên bản cũ hơn thì vẫn hỗ trợ ví dụ như Windows 7 (và các trình cài đặt cũ không bị hạn chế đối với Windows 64-bit).
Trình thông dịch Python được hỗ trợ cho các hệ điều hành chính thống và có sẵn cho một số hệ điều hành khác (và trước đây đã hỗ trợ nhiều hơn nữa). Cộng đồng lập trình viên toàn cầu phát triển và duy trì CPython, một triển khai tài liệu tham khảo mã nguồn mở và miễn phí. Một tổ chức phi lợi nhuận, Python Software Foundation, quản lý và chỉ đạo các nguồn lực để phát triển Python và CPython.
Tính đến tháng 2021 năm 2020, Python đứng thứ ba trong chỉ số của TIOBE về các ngôn ngữ lập trình phổ biến nhất, sau C và Java, trước đó đã giành được vị trí thứ hai và giải thưởng cho ngôn ngữ lập trình phổ biến nhất năm 2007. Nó đã được chọn là Ngôn ngữ lập trình của năm vào năm 2010, 2018 , và XNUMX.
Một nghiên cứu thực nghiệm cho thấy rằng các ngôn ngữ lập trình, chẳng hạn như Python, có năng suất cao hơn các ngôn ngữ thông thường, chẳng hạn như C và Java, đối với các vấn đề lập trình liên quan đến thao tác chuỗi và tìm kiếm trong từ điển và xác định rằng mức tiêu thụ bộ nhớ thường “tốt hơn Java và không kém hơn nhiều so với C hoặc C ++ ”. Các tổ chức lớn sử dụng Python bao gồm Wikipedia, Google, Yahoo !, CERN, NASA, Facebook, Amazon, Instagram.
Ngoài các ứng dụng trí tuệ nhân tạo, Python, với tư cách là ngôn ngữ kịch bản với kiến trúc mô-đun, cú pháp đơn giản và các công cụ xử lý văn bản phong phú, thường được sử dụng để xử lý ngôn ngữ tự nhiên.
PyTorch là một thư viện máy học mã nguồn mở dựa trên thư viện Torch, được sử dụng cho các ứng dụng như thị giác máy tính và xử lý ngôn ngữ tự nhiên, được phát triển chủ yếu bởi phòng thí nghiệm Nghiên cứu AI của Facebook (FAIR). Nó là phần mềm mã nguồn mở và miễn phí được phát hành theo giấy phép BSD Sửa đổi. Mặc dù giao diện Python được trau chuốt hơn và là trọng tâm phát triển chính, PyTorch cũng có giao diện C ++. Một số phần của phần mềm Deep Learning được xây dựng trên PyTorch, bao gồm Tesla Autopilot, Uber's Pyro, HuggingFace's Transformers, PyTorch Lightning và Catalyst.
- Điện toán căng (như NumPy) với khả năng tăng tốc mạnh mẽ thông qua các đơn vị xử lý đồ họa (GPU)
- Mạng nơron sâu được xây dựng dựa trên hệ thống phân biệt tự động (tính toán) dựa trên băng
Facebook vận hành cả PyTorch và Kiến trúc hợp lệ để Nhúng tính năng nhanh (Caffe2), nhưng các mô hình được xác định bởi hai khuôn khổ không tương thích lẫn nhau. Dự án Open Neural Network Exchange (ONNX) do Facebook và Microsoft tạo ra vào tháng 2017 năm 2 để chuyển đổi mô hình giữa các khung công tác. Caffe2018 được sáp nhập vào PyTorch vào cuối tháng XNUMX năm XNUMX.
PyTorch định nghĩa một lớp gọi là Tensor (torch.Tensor) để lưu trữ và hoạt động trên các mảng hình chữ nhật đa chiều đồng nhất của các số. PyTorch Tensors tương tự như Mảng NumPy, nhưng cũng có thể hoạt động trên GPU Nvidia hỗ trợ CUDA. PyTorch hỗ trợ nhiều loại Tensors phụ khác nhau.
Có một số mô-đun quan trọng cho Pytorch. Bao gồm các:
- Mô-đun Autograd: PyTorch sử dụng một phương pháp gọi là phân biệt tự động. Một máy ghi ghi lại những thao tác đã thực hiện, sau đó nó phát lại nó để tính toán các độ dốc. Phương pháp này đặc biệt mạnh mẽ khi xây dựng mạng nơ-ron để tiết kiệm thời gian trên một kỷ nguyên bằng cách tính toán sự khác biệt của các tham số ở chuyển tiếp.
- Mô-đun tối ưu: torch.optim là một mô-đun thực hiện các thuật toán tối ưu hóa khác nhau được sử dụng để xây dựng mạng nơ-ron. Hầu hết các phương pháp thường được sử dụng đã được hỗ trợ, vì vậy không cần phải xây dựng chúng từ đầu.
- nn mô-đun: PyTorch autograd giúp dễ dàng xác định đồ thị tính toán và lấy gradient, nhưng autograd thô có thể hơi quá thấp để xác định các mạng nơron phức tạp. Đây là nơi mà mô-đun nn có thể giúp đỡ.
Để tìm hiểu chi tiết về chương trình giảng dạy chứng nhận, bạn có thể mở rộng và phân tích bảng bên dưới.
Chương trình giảng dạy Chứng nhận EITC/AI/DLPP Deep Learning với Python và PyTorch tham khảo các tài liệu giáo khoa truy cập mở dưới dạng video của Harrison Kinsley. Quá trình học tập được chia thành cấu trúc từng bước (chương trình -> bài học -> chủ đề) bao gồm các phần chương trình học có liên quan. Tư vấn không giới hạn với các chuyên gia tên miền cũng được cung cấp.
Để biết chi tiết về kiểm tra thủ tục Chứng nhận Làm thế nào nó hoạt động.
Tải xuống tài liệu chuẩn bị tự học ngoại tuyến hoàn chỉnh cho chương trình Học sâu EITC/AI/DLPP với Python và PyTorch dưới dạng tệp PDF
Tài liệu chuẩn bị EITC/AI/DLPP – phiên bản tiêu chuẩn
Tài liệu chuẩn bị EITC/AI/DLPP – phiên bản mở rộng với các câu hỏi ôn tập