Microsoft-1CNTK

Bộ công cụ nhận thức của Microsoft (CNTK), trước đây gọi là Bộ công cụ mạng tính toán, là bộ công cụ cấp thương mại, mã nguồn mở, miễn phí, dễ sử dụng, cho phép chúng tôi đào tạo các thuật toán học sâu để học như con người não. Nó cho phép chúng tôi tạo ra một số hệ thống deep learning phổ biến như hệ thống dự đoán chuỗi thời gian của mạng nơ-ron chuyển tiếp nguồn cấp dữ liệu và bộ phân loại hình ảnh của mạng nơ-ron chuyển đổi (CNN).

Hướng dẫn này sẽ hữu ích cho sinh viên tốt nghiệp, sau đại học và sinh viên nghiên cứu quan tâm đến Học sâu hoặc Mạng thần kinh nhân tạo hoặc xem chủ đề này như một phần trong chương trình giảng dạy của họ. Người đọc có thể là người mới bắt đầu hoặc người học nâng cao.

Giới thiệu Bộ công cụ nhận thức của Microsoft (CNTK)

Trong chương này, chúng ta sẽ tìm hiểu CNTK là gì, các tính năng của nó, sự khác biệt giữa phiên bản 1.0 và 2.0 và những điểm nổi bật quan trọng của phiên bản 2.7.

Bộ công cụ nhận thức của Microsoft (CNTK) là gì?

Bộ công cụ nhận thức của Microsoft (CNTK), trước đây gọi là Bộ công cụ mạng tính toán, là bộ công cụ cấp thương mại, mã nguồn mở, miễn phí, dễ sử dụng, cho phép chúng tôi đào tạo các thuật toán học sâu để học như con người não. Nó cho phép chúng tôi tạo ra một số hệ thống deep learning phổ biến như hệ thống dự đoán chuỗi thời gian của mạng nơ-ron chuyển tiếp nguồn cấp dữ liệu và bộ phân loại hình ảnh của mạng nơ-ron chuyển đổi (CNN).

Để có hiệu suất tối ưu, các hàm khung của nó được viết bằng C++. Mặc dù chúng ta có thể gọi hàm của nó bằng C++, nhưng cách tiếp cận được sử dụng phổ biến nhất là sử dụng chương trình Python.

Tính năng của CNTK

Sau đây là một số tính năng và khả năng được cung cấp trong phiên bản mới nhất của Microsoft CNTK:

Các thành phần tích hợp

  • CNTK có các thành phần tích hợp được tối ưu hóa cao, có thể xử lý dữ liệu dày đặc hoặc thưa thớt đa chiều từ Python, C++ hoặc BrainScript.
  • Chúng tôi có thể chú ý triển khai CNN, FNN, RNN, Chuẩn hóa hàng loạt và Từ chuỗi này sang chuỗi khác.
  • Nó cung cấp cho chúng tôi chức năng để thêm các thành phần cốt lõi mới do người dùng xác định trên GPU từ Python.
  • Nó cũng cung cấp khả năng điều chỉnh siêu tham số tự động.
  • Chúng tôi có thể triển khai Học tăng cường, Mạng đối thủ sáng tạo (GAN), Học tập có giám sát cũng như không giám sát.
  • Đối với các bộ dữ liệu lớn, CNTK có các trình đọc được tối ưu hóa tích hợp sẵn.

Sử dụng tài nguyên một cách hiệu quả

  • CNTK cung cấp cho chúng tôi tính năng song song với độ chính xác cao trên nhiều GPU/máy thông qua SGD 1 bit.
  • Để phù hợp với các mô hình lớn nhất trong bộ nhớ GPU, nó cung cấp tính năng chia sẻ bộ nhớ và các phương pháp tích hợp khác.

Thể hiện mạng lưới của chúng ta một cách dễ dàng

  • CNTK có đầy đủ các API để xác định mạng lưới, người học, người đọc, đào tạo và đánh giá của riêng bạn từ Python, C++ và BrainScript.
  • Sử dụng CNTK, chúng ta có thể dễ dàng đánh giá các mô hình bằng Python, C++, C# hoặc BrainScript.
  • Nó cung cấp cả API cấp cao cũng như API cấp thấp.
  • Dựa trên dữ liệu của chúng tôi, nó có thể tự động định hình suy luận.
  • Nó có các vòng lặp Mạng thần kinh tái phát mang tính biểu tượng (RNN) được tối ưu hóa hoàn toàn.

Đo lường hiệu suất mô hình

  • CNTK cung cấp nhiều thành phần khác nhau để đo lường hiệu suất của mạng nơ-ron mà bạn xây dựng.
  • Tạo dữ liệu nhật ký từ mô hình của bạn và trình tối ưu hóa liên quan mà chúng tôi có thể sử dụng để theo dõi quá trình đào tạo.

Phiên bản 1.0 so với Phiên bản 2.0

Bảng sau so sánh CNTK Phiên bản 1.0 và 2.0:

Phiên bản 1.0Phiên bản 2.0
Nó được phát hành vào năm 2016.Đây là bản viết lại quan trọng của Phiên bản 1.0 và được phát hành vào tháng 6 năm 2017.
Nó sử dụng một ngôn ngữ kịch bản độc quyền có tên BrainScript.Các hàm khung của nó có thể được gọi bằng C++, Python. Chúng ta có thể dễ dàng tải các mô-đun của mình bằng C# hoặc Java. BrainScript cũng được hỗ trợ bởi Phiên bản 2.0.
Nó chạy trên cả hệ thống Windows và Linux nhưng không chạy trực tiếp trên Mac OS.Nó cũng chạy trên cả hệ thống Windows (Win 8.1, Win 10, Server 2012 R2 trở lên) và Linux nhưng không chạy trực tiếp trên Mac OS.

Điểm nổi bật quan trọng của phiên bản 2.7

Phiên bản 2.7 là phiên bản phát hành chính cuối cùng của Bộ công cụ nhận thức Microsoft. Nó có hỗ trợ đầy đủ cho ONNX 1.4.1. Sau đây là một số điểm nổi bật quan trọng của phiên bản CNTK được phát hành gần đây nhất này.

Bắt đầu Bộ công cụ nhận thức của Microsoft (CNTK)

Ở đây chúng ta sẽ hiểu về việc cài đặt CNTK trên Windows và trên Linux. Ngoài ra, chương này còn giải thích cách cài đặt gói CNTK, các bước cài đặt Anaconda, file CNTK, cấu trúc thư mục và tổ chức thư viện CNTK.

Điều kiện tiên quyết

Để cài đặt CNTK, chúng ta phải cài đặt Python trên máy tính của mình. Bạn có thể truy cập liên kết https://www.python.org/downloads/ và chọn phiên bản mới nhất cho hệ điều hành của bạn, tức là Windows và Linux/ Unix.

Bộ công cụ nhận thức của Microsoft

CNTK được hỗ trợ cho Windows cũng như Linux nên chúng ta sẽ tìm hiểu cả hai.

Cài đặt trên Windows

Để chạy CNTK trên Windows, chúng tôi sẽ sử dụng phiên bản Anaconda của Python. Chúng tôi biết rằng, Anaconda là bản phân phối lại của Python. Nó bao gồm các gói bổ sung như Scipy vàScikit-learn được sử dụng bởi CNTK để thực hiện nhiều phép tính hữu ích khác nhau.

Vì vậy, trước tiên hãy xem các bước để cài đặt Anaconda trên máy của bạn –

Bước 1−Trước tiên hãy tải xuống tệp thiết lập từ trang web công cộng https://www.anaconda.com/distribution/.

Bước 2 − Sau khi bạn tải xuống các tệp thiết lập, hãy bắt đầu cài đặt và làm theo hướng dẫn từ liên kết https://docs.anaconda .com/anaconda/install/.

Bước 3 − Sau khi cài đặt, Anaconda cũng sẽ cài đặt một số tiện ích khác, tiện ích này sẽ tự động bao gồm tất cả các tệp thực thi Anaconda trong biến PATH trên máy tính của bạn. Chúng tôi có thể quản lý môi trường Python của mình từ lời nhắc này, có thể cài đặt các gói và chạy tập lệnh Python.

Cài đặt gói CNTK

Sau khi cài đặt Anaconda hoàn tất, bạn có thể sử dụng cách phổ biến nhất để cài đặt gói CNTK thông qua tệp thực thi pip bằng cách sử dụng lệnh sau – pip install cntk

Có nhiều phương pháp khác để cài đặt Bộ công cụ nhận thức trên máy của bạn. Microsoft có một bộ tài liệu gọn gàng giải thích chi tiết các phương pháp cài đặt khác. Vui lòng theo liên kết https://docs.microsoft.com/en-us/cognitive-toolkit/Setup-CNTK-on-your-machine.

Cài đặt trên Linux

Việc cài đặt CNTK trên Linux hơi khác so với cài đặt trên Windows. Ở đây, đối với Linux, chúng tôi sẽ sử dụng Anaconda để cài đặt CNTK, nhưng thay vì trình cài đặt đồ họa cho Anaconda, chúng tôi sẽ sử dụng trình cài đặt dựa trên thiết bị đầu cuối trên Linux. Mặc dù trình cài đặt sẽ hoạt động với hầu hết các bản phân phối Linux nhưng chúng tôi đã giới hạn mô tả ở Ubuntu.

Vì vậy, trước tiên hãy xem các bước để cài đặt Anaconda trên máy của bạn –

Các bước cài đặt Anaconda

Bước 1 − Trước khi cài đặt Anaconda, hãy đảm bảo rằng hệ thống đã được cập nhật đầy đủ. Để kiểm tra, trước tiên hãy thực hiện hai lệnh sau trong terminal

sudo apt update
sudo apt upgrade

Bước 2 − Sau khi máy tính được cập nhật, hãy lấy URL từ trang web công cộng https://www.anaconda.com/distribution / để có các tệp cài đặt Anaconda mới nhất.

Bước 3 − Sau khi sao chép URL, hãy mở cửa sổ terminal và thực hiện lệnh sau

wget -0 anaconda-installer.sh url SHAPE \* MERGEFORMAT 
     y

	
	
	             f
 
 
      x
	  
|                     }

Thay thế phần giữ chỗ url bằng URL được sao chép từ trang web Anaconda.

Bước 4 − Tiếp theo, với sự trợ giúp của lệnh sau, chúng ta có thể cài đặt Anaconda − sh ./anaconda-installer.sh

Theo mặc định, lệnh trên sẽ cài đặt Anaconda3 bên trong thư mục chính của chúng ta.

Cài đặt gói CNTK

Sau khi cài đặt Anaconda hoàn tất, bạn có thể sử dụng cách phổ biến nhất để cài đặt gói CNTK thông qua tệp thực thi pip bằng cách sử dụng lệnh sau – pip install cntk

Kiểm tra các tệp CNTK & Cấu trúc thư mục

Sau khi CNTK được cài đặt dưới dạng gói Python, chúng ta có thể kiểm tra cấu trúc tệp và thư mục của nó. Nó ở C:\Users\\Anaconda3\Lib\site-gói\cntk, như hiển thị bên dưới trong ảnh chụp màn hình.

Bộ công cụ nhận thức của Microsoft

Xác minh cài đặt CNTK

Sau khi CNTK được cài đặt dưới dạng gói Python, bạn nên xác minh rằng CNTK đã được cài đặt chính xác. Từ trình bao lệnh Anaconda, khởi động trình thông dịch Python bằng cách nhập ipython. Sau đó, nhập CNTK bằng cách nhập lệnh sau.

import cntk as c

Sau khi nhập, hãy kiểm tra phiên bản của nó với sự trợ giúp của lệnh sau –

print(c.__version__)

Trình thông dịch sẽ phản hồi với phiên bản CNTK đã cài đặt. Nếu nó không phản hồi thì có thể có vấn đề trong quá trình cài đặt.

Tổ chức thư viện CNTK

CNTK, một gói python về mặt kỹ thuật, được tổ chức thành 13 gói phụ cấp cao và 8 gói phụ nhỏ hơn. Bảng sau bao gồm 10 gói được sử dụng thường xuyên nhất:

Sr.KhôngTên gói & Sự miêu tả
1cntk.io Chứa các hàm đọc dữ liệu. Ví dụ: next_minibatch()
2cntk.layers Chứa các hàm cấp cao để tạo mạng nơ-ron. Ví dụ: Dense()
3cntk.learners Chứa các hàm huấn luyện. Ví dụ: sgd()
4cntk.loss Chứa các hàm đo lỗi huấn luyện. Ví dụ: squared_error()
5cntk.metrics Chứa các hàm đo lỗi mô hình. Ví dụ: classificatoin_error
6cntk.ops Chứa các hàm cấp thấp để tạo mạng nơ-ron. Ví dụ: tanh()
7cntk.random Chứa các hàm tạo số ngẫu nhiên. Ví dụ: bình thường()
8cntk.train Chứa các hàm huấn luyện. Ví dụ: train_minibatch()
9cntk.initializer Chứa các bộ khởi tạo tham số mô hình. Ví dụ: normal() và uniform()
10cntk.variables Chứa các cấu trúc cấp thấp. Ví dụ: Parameter() và Variable()

Xem thêm : Bộ công cụ nhận thức của Microsoft (CNTK) – CPU và GPU

Trả lời