Google, Facebook, IBM, Microsoft và những gã khổng lồ công nghệ khác bao gồm các nhà phát triển nổi tiếng đã thực hiện một bước nhanh chóng đối với Học máy và Trí tuệ nhân tạo để thực hiện ước mơ của con người về việc tạo ra một cỗ máy thông minh cao. Và để trang bị cho những người khác tham gia vào hành trình xây dựng một cỗ máy có ý thức cho tương lai, có khá nhiều công cụ nguồn mở được các ông lớn công nghệ tận dụng để tích hợp trí tuệ nhân tạo vào các ứng dụng.

12 Công cụ học máy mã nguồn mở hoặc Khung 2020

Tuy nhiên, trí tuệ nhân tạo và máy học đang ở giai đoạn đầu, vì vậy đừng mong đợi một cái gì đó giống như một bộ phim khoa học viễn tưởng nào đó, tuy nhiên các nhà phát triển trong lĩnh vực AI và ML có thể sử dụng phần mềm mã nguồn mở mà chúng ta sẽ thảo luận để viết ứng dụng để nhận dạng giọng nói tốt hơn, Nhận dạng hình ảnh, Hỗ trợ giọng nói, phát triển mạng nơ-ron và hơn thế nữa… Bài viết này cung cấp tổng quan về một số giải pháp nguồn mở phổ biến nhất.

TensorFlow

TensorFlow AI khung phát triển là một sự đổi mới của Google Brain Team sử dụng thư viện mã nguồn mở để học máy. Các nhà phát triển có thể sử dụng hệ sinh thái linh hoạt của các công cụ và tài nguyên cộng đồng để phát triển các ứng dụng hỗ trợ ML hiện đại. Nó cũng bao gồm CUDA Deep Neural Network thư viện.

Để xây dựng và đào tạo các mô hình, nó sử dụng một cấp độ cao Keras API và cung cấp nhiều cấp độ trừu tượng để người ta có thể chọn cấp độ phù hợp cho dự án của mình.

Hơn nữa, đối với thiết bị di động, Google vào năm 2017 đã phát hành Tensor Flow lite để sử dụng mô hình học sâu trên điện thoại thông minh và trong ứng dụng của họ. Nó ngày càng trở nên phổ biến và một số thiết bị thậm chí còn sử dụng chip tăng tốc đặc biệt cho ứng dụng tương ứng. Để cải thiện hơn nữa việc sử dụng Tensorflow thư viện máy học.

Đối với các nhiệm vụ đào tạo ML lớn, Distribution Strategy API có sẵn để đào tạo phân tán về các cấu hình phần cứng khác nhau mà không thay đổi định nghĩa mô hình.

Để cài đặt nó, cần có pip, nếu bạn đã có pip thì đây là lệnh cho phiên bản CPU và GPU của Tensorflow:

Caffe – Khung học tập sâu

Caffe là một dự án mã nguồn mở kiến ​​trúc C ++ / CUDA thuần túy hỗ trợ các giao diện dòng lệnh, Python và MATLAB; bạn có thể chuyển đổi trực tiếp giữa CPU và GPU. Mô hình và các tối ưu hóa tương ứng được đưa ra dưới dạng văn bản chứ không phải mã. Caffe đưa ra định nghĩa về mô hình, cài đặt tối ưu hóa và trọng lượng được đào tạo trước, vì vậy, thật dễ dàng để bắt đầu ngay lập tức.

Caffe- Khung học sâu
Caffe được sử dụng kết hợp với cuDNN để kiểm tra mô hình AlexNet. Chỉ mất 1,17ms để xử lý mỗi bức ảnh trên K40. Bạn có thể sử dụng các loại lớp khác nhau được cung cấp bởi Caffe để xác định mô hình của riêng bạn.

Caffe có thể được sử dụng, ví dụ, để nhận dạng giọng nói, nhận dạng và phân loại hình ảnh hoặc để phát triển các ngôn ngữ tự nhiên trong các thiết bị AI.

Xem dự án này Github .

Bạn có thể cài đặt trên Ubuntu cho CPU sudo apt cài đặt caffe-cpu và cho GPU

PyTorch

PyTorch là một khuôn khổ học máy mã nguồn mở khác. Nó bao gồm TorchScriptmột trình biên dịch chuyển đổi PyTorch mô hình thành một đồ thị được nhập tĩnh. Sau đó, các nhà khoa học dữ liệu có thể thực hiện tối ưu hóa và điều chỉnh ở chế độ háo hức và do đó từng bước chuyển đổi mô hình của họ sang TorchScript. Nó có thể được sử dụng để triển khai các kiến ​​trúc mạng như RNN, CNN, LSTM, v.v. và các thuật toán cấp cao khác.

Pythorch
PyTorch đã biết Open Neural Network eXchange (ONNX) định dạng để xuất các mô hình được đào tạo hoặc chưa được đào tạo sang định dạng tiêu chuẩn trong một thời gian. ONNX cho phép trao đổi giữa các khuôn khổ khác nhau và ví dụ: đơn giản hóa việc chuyển các mô hình từ PyTorch đến TensorFlow và ngược lại.

Ngoài ra, kết nối với TensorBoard nó bao gồm các thư viện dựa trên Python dựa trên Toch như torchaudio, torchtext, torchvision và hơn thế nữa.

Microsoft CNTK- Bộ công cụ học máy Opensource

Bộ công cụ mạng tính toán (CNTK) của Microsoft ban đầu được phát triển để đạt được tiến bộ nhanh hơn trong lĩnh vực nhận dạng giọng nói. Do đó, bộ công cụ học sâu đã được sử dụng nội bộ để cải thiện khả năng nhận dạng giọng nói của trợ lý kỹ thuật số Cortana. Microsoft sau đó đã phát hành phần mềm này trên GitHub theo giấy phép nguồn mở. Vì vậy, bây giờ bất kỳ ai cũng có thể thử sức với nó. CNTK cũng là một trong những bộ công cụ học sâu đầu tiên hỗ trợ Open Neural Network Exchange Định dạng ONNX.

Microsoft CNTK- Bộ công cụ học máy Opensource
Microsoft Cognitive Toolkit biểu diễn mạng nơ-ron dưới dạng một loạt các bước tính toán thông qua biểu đồ có hướng với sự trợ giúp Network Description Language (NDL).

Nó linh hoạt và hỗ trợ C ++, C #, Java và Python.

Trang mạngGithub Liên kết

scikit-học – học máy với Python

Các scikit-học là một khung học máy dựa trên thư viện Python khác có nguồn gốc từ SciPy Toolkit. Nó sử dụng các gói như NumPy, SciPyhoặc Matplotlib để viết các chương trình toán học, khoa học hoặc thống kê bằng Python. Nó có thể được sử dụng để khai thác dữ liệu và phân tích dữ liệu.

scikit-learning - học máy với Python

Nó cũng là mã nguồn mở và có sẵn cho các mục đích thương mại. Chúng ta có thể sử dụng nó để xây dựng các ứng dụng cho nhiều hạng mục khác nhau như mục đích phân loại để xác định loại đối tượng thuộc về loại nào; trong việc dự đoán một thuộc tính có giá trị liên tục được liên kết với một đối tượng; tự động nhóm các đối tượng tương tự thành tập hợp; so sánh, xác nhận và lựa chọn các thông số và mô hình; Chuyển đổi dữ liệu đầu vào, chẳng hạn như văn bản để sử dụng với các thuật toán máy học, bot AI và hơn thế nữa…

Nếu bạn muốn làm việc với học máy và trí tuệ nhân tạo dựa trên Python, bạn nên xem xét các khả năng của học scikit. Các nhà cung cấp cũng cung cấp các hướng dẫn khác nhau mà các nhà phát triển có thể sử dụng để làm việc với Python và scikit-học .

GitHub

Apache Mahout – Học máy cho Dữ liệu lớn

Mahout là một dự án mã nguồn mở thuộc Apache Software Foundation (ASF) dựa trên Apache HadoopMapReduce. Nó cung cấp một số triển khai có thể mở rộng của các thuật toán cổ điển trong lĩnh vực máy học để giúp các nhà phát triển trong việc tạo các ứng dụng thông minh dễ dàng và nhanh chóng hơn. Mahout bao gồm nhiều triển khai, bao gồm phân cụm, phân loại, lọc và khai thác dữ liệu. Ngoài ra, Mahout có thể được mở rộng hiệu quả lên đám mây bằng cách sử dụng Apache Hadoop thư viện.

Apache Mahout - Máy học cho dữ liệu lớn
Trang mạng

Spark MLlib

Apache Spark là một công cụ tính toán nhanh và có mục đích chung được thiết kế để xử lý dữ liệu quy mô lớn. Tia lửa Hadoop MapReduce– như khuôn khổ song song có mục đích chung do phòng thí nghiệm AMP UC Berkeley (UC Berkeley’s AMP Lab) có nguồn mở. Tia lửa có những lợi thế của Hadoop MapReduce; nhưng không giống như MapReduce, đầu ra trung gian của công việc có thể được lưu trữ trong bộ nhớ, vì vậy không cần đọc và ghi HDFS nữa, do đó Tia lửa có thể phù hợp hơn cho các thuật toán khai thác dữ liệu và học máy cần thuật toán MapReduce lặp đi lặp lại.

Spark MLib Apache Máy học
MLlib (Máy học lib) là Tia lửa thư viện triển khai cho các thuật toán học máy thường được sử dụng. Nó cũng bao gồm các thử nghiệm liên quan và trình tạo dữ liệu. MLlib hiện hỗ trợ 4 vấn đề học máy phổ biến: phân loại, hồi quy, phân cụm và lọc cộng tác.

Tia lửa MLlib có thể được sử dụng với Java, Scala, Python và R. MLlib sử dụng Tia lửa API của và tương tác với NumPy bằng Python. NumPy là một thư viện Python có thể được sử dụng để xử lý vectơ, ma trận và mảng đa chiều…

Trang mạng

Keras : Thư viện học sâu Python

Keras là một API mạng thần kinh cấp cao, được viết bằng Python, có khả năng chạy trên TensorFlow CNTK, Theano hoặc MXNet. Kể từ khi phát hành lần đầu vào tháng 3 năm 2015, nó đã được ưu ái vì dễ sử dụng và đơn giản về cú pháp, tạo điều kiện phát triển nhanh chóng. Nó được hỗ trợ bởi Google.

Keras- Thư viện học sâu Python

Nó không giống như các khuôn khổ học máy end-to-end khác và hoạt động như một giao diện. Nó sử dụng mức độ trừu tượng cao, do đó, dễ dàng xử lý cấu hình mạng nơ-ron mà không cần quan tâm nhiều đến loại khung công tác mà nó đang hoạt động.

Trang mạngGitHub

Theano

Theano dựa trên Python và là một thư viện xử lý tốt các mảng đa chiều (tương tự như NumPy về mặt này). Nó được thiết kế để thực hiện các hoạt động của các thuật toán mạng nơ-ron quy mô lớn trong học sâu. Theano Các nhà phát triển ban đầu là Yoshua Bengio và Ian Goodfellow. Do nền tảng học thuật của họ, ban đầu nó được thiết kế để nghiên cứu học thuật. Khi kết hợp với các thư viện học sâu khác, nó sẽ rất thích hợp cho việc khám phá dữ liệu.

Học sâu Theano
Theano có thể được hiểu rõ hơn là một trình biên dịch cho các biểu thức toán học: xác định kết quả mong muốn của bạn bằng ngôn ngữ tượng trưng và khung sẽ biên dịch chương trình của bạn để chạy hiệu quả trên GPU hoặc CPU.

Trong một thời gian dài trong quá khứ, Theano đã là tiêu chuẩn công nghiệp để phát triển và nghiên cứu học sâu. So với thư viện học sâu, nó giống một nền tảng nghiên cứu hơn. Bạn cần phải làm rất nhiều công việc từ phía dưới để tạo ra các mô hình bạn cần, có nghĩa là nó rất linh hoạt.

Các công cụ dù tốt đến đâu cũng đã rút lui khỏi giai đoạn lịch sử. Theano vốn từng giành được sự ưu ái của cộng đồng học thuật, cũng không phải là ngoại lệ.

Tuy nhiên, các nhà phát triển chính của khung học sâu này đã ngừng đóng góp vào năm 2017, nhưng cộng đồng của họ vẫn đang tích cực hỗ trợ dự án, điều này có thể thấy rõ trên Github.

Trang mạng Oryx – Khung học sâu

Oryx cũng là một khuôn khổ sử dụng dữ liệu từ Kafka và Tia lửa để giúp người dùng Hadoop xây dựng mô hình cho máy học quy mô lớn trong thời gian thực. Dữ liệu có thể được xử lý trong thời gian thực từ các nguồn khác nhau.

Oryx- Khung học sâu

Nó là một khuôn khổ để xây dựng các ứng dụng nhưng cũng bao gồm các ứng dụng đóng gói, end-to-end để lọc cộng tác, phân loại, hồi quy và phân cụm.

Trang mạngGithub

Accord.NET Khung học máy

Accord.NEKhung học máy T dựa trên .NET cung cấp nhiều khả năng, nó có thể được sử dụng để học máy, thống kê, âm thanh và tín hiệu, phương pháp Kernel, kiểm tra giả thuyết, trí tuệ nhân tạo, phân cụm, thị giác máy tính và xử lý hình ảnh để sử dụng thương mại trên Microsoft Windows, Xamarin, Unity3D, Linux hoặc di động.

Nó có thể chứng minh là một lựa chọn tốt để xử lý tối ưu hóa số mạng thần kinh nhân tạo và thậm chí cả trực quan hóa.

Khung học máy Accord.NET

Để biết thêm thông tin, hãy truy cập: Accord.net hoặc Github

MLPack: Thư viện máy học C ++

mlpack dành cho những người đang tìm kiếm một nền tảng máy học thân thiện với bộ nhớ, linh hoạt tuyệt vời được viết bằng C ++. Nó nhanh chóng với các liên kết Python và các lớp C ++, sau đó có thể được tích hợp vào các giải pháp học máy quy mô lớn hơn. Về mặt tài liệu, người dùng có thể gặp khó khăn.

MLPack
Github trang mạng Liên kết
Trong bài viết này, chúng ta đã khám phá các Công cụ học máy mã nguồn mở hàng đầu. Trong trường hợp bạn có bất kỳ câu hỏi nào, xin vui lòng hỏi howto88.com trong phần bình luận bên dưới.