TensorFlow so với Theano so với Torch so với Keras: Thư viện học sâu

Trí tuệ nhân tạo ngày càng phổ biến kể từ năm 2016 với 20% các công ty lớn sử dụng AI trong doanh nghiệp của họ (McKinsey báo cáo, 2018). Theo cùng một báo cáo, AI có thể tạo ra giá trị đáng kể trong các ngành. Ví dụ, trong ngân hàng, tiềm năng của AI được ước tính là $300 tỷ, trong bán lẻ con số tăng vọt lên $600 tỷ đồng.

Để khai thác giá trị tiềm năng của AI, các công ty phải chọn khuôn khổ deep learning phù hợp. Trong hướng dẫn này, bạn sẽ tìm hiểu về các thư viện khác nhau có sẵn để thực hiện các nhiệm vụ học sâu. Một số thư viện đã tồn tại được nhiều năm trong khi thư viện mới như TensorFlow mới xuất hiện trong những năm gần đây.

8 thư viện/framework học sâu tốt nhất

Trong danh sách này, chúng tôi sẽ so sánh các framework Deep learning hàng đầu. Tất cả chúng đều là nguồn mở và phổ biến trong cộng đồng nhà khoa học dữ liệu. Chúng tôi cũng sẽ so sánh ML phổ biến với tư cách là nhà cung cấp dịch vụ

Torch

Torch là một thư viện học máy mã nguồn mở lâu đời. Nó được phát hành lần đầu tiên cách đây 15 năm. Ngôn ngữ lập trình chính của nó là LUA, nhưng cũng có một phiên bản triển khai bằng C. So sánh với PyTorSo với TensorFlow, ch hỗ trợ một thư viện khổng lồ các thuật toán máy học, bao gồm cả học sâu. Nó hỗ trợ triển khai CUDA cho tính toán song song.

TorCông cụ học sâu ch được hầu hết các phòng thí nghiệm hàng đầu sử dụng, chẳng hạn như Facebook, Google, Twitter, Nvidia, vân vân. Torch có một thư viện trong Python tên Pytorch.

Suy luận.net

Infer.net được phát triển và duy trì bởi Microsoft. Infer.net là một thư viện tập trung chủ yếu vào thống kê Bayes. Infer.net là một công cụ trực quan hóa cho Deep Learning được thiết kế để cung cấp cho người thực hành các thuật toán tiên tiến nhất để lập mô hình xác suất. Thư viện chứa công cụ phân tích như phân tích Bayes, chuỗi Markov ẩn, phân cụm.

Máy ảnh

Keras là một Python khuôn khổ cho việc học sâu. Đây là một thư viện thuận tiện để xây dựng bất kỳ thuật toán học sâu nào. Ưu điểm của Keras là nó sử dụng cùng Python mã để chạy trên CPU hoặc GPU. Ngoài ra, môi trường mã hóa trong sạch và cho phép đào tạo thuật toán tiên tiến về thị giác máy tính, nhận dạng văn bản, v.v.

Keras được phát triển bởi François Chollet, một nhà nghiên cứu tại... GoogleKeras được sử dụng trong các tổ chức nổi tiếng như CERN, Yelp, Square hoặc... Google, Netflixvà Uber.

Máy ảnh

Theano

Theano là thư viện deep learning được phát triển bởi Đại học Montréal vào năm 2007. So sánh Theano với TensorFlow, nó cung cấp khả năng tính toán nhanh và có thể chạy trên cả CPU và GPU. Theano đã được phát triển để đào tạo các thuật toán mạng lưới thần kinh sâu.

Microsoft Bộ công cụ nhận thức (CNTK)

Microsoft toolkit, trước đây gọi là CNTK, là một thư viện deep learning được phát triển bởi Microsoft. Theo Microsoft, thư viện này thuộc hàng nhanh nhất trên thị trường. Microsoft bộ công cụ là một thư viện mã nguồn mở, mặc dù Microsoft đang sử dụng nó rộng rãi cho sản phẩm của mình như Skype, Cortana, Bing và Xbox. Bộ công cụ có sẵn ở cả Python và C++.

MX Net

MXnet là một thư viện học sâu gần đây. Nó có thể truy cập được bằng nhiều ngôn ngữ lập trình bao gồm C++, Julia, Python và R. MXNet có thể được cấu hình để hoạt động trên cả CPU và GPU. MXNet bao gồm kiến ​​trúc học sâu tiên tiến như Mạng nơ-ron tích chập và Bộ nhớ dài hạn ngắn hạn. MXNet được xây dựng để hoạt động trong harmony với cơ sở hạ tầng đám mây năng động. Người dùng chính của MXNet là Amazon

Caffe

Caffe là thư viện được Yangqing Jia xây dựng khi ông còn là nghiên cứu sinh tiến sĩ tại Berkeley. So sánh Caffe với TensorFlow, Caffe được viết bằng C++ và có thể thực hiện tính toán trên cả CPU và GPU. Công dụng chính của Caffe là Convolutional Neural Network. Mặc dù, vào năm 2017, Facebook đã mở rộng Caffe với kiến ​​trúc học sâu hơn, bao gồm cả Recurrent Neural Network. Caffe được sử dụng bởi các học giả và công ty khởi nghiệp nhưng cũng có một số công ty lớn như Yahoo!.

TensorFlow

TensorFlow là Google Dự án mã nguồn mở. TensorFlow là thư viện học sâu nổi tiếng nhất hiện nay. Nó được phát hành rộng rãi vào cuối năm 2015.

TensorFlow

TensorFlow được phát triển tại C++ và có tiện lợi Python API, mặc dù C++ API cũng có sẵn. Các công ty nổi tiếng như Airbus, Google, IBM v.v. đang sử dụng TensorFlow để tạo ra các thuật toán học sâu.

TensorFlow so với Theano so với... Torch so với Keras so với infer.net so với CNTK so với MXNet so với Caffe: Những điểm khác biệt chính

Thư viện Nền tảng Viết vào Cuda hỗ trợ Thực hiện song song Có người mẫu được đào tạo RNN CNN
Torch Linux, macOS, Windows lấy
Suy luận.Net Linux, macOS, Windows Visual Studio Không Không Không Không Không
Máy ảnh Linux, macOS, Windows Python
Theano Nền tảng Python
TensorFlow Linux, macOS, Windows, Android C++, Python, CUDA
BỘ CÔNG CỤ NHẬN THỨC CỦA MICROSOFT Linux, Windows, Mac với Docker C++
Caffe Linux, macOS, Windows C++
MX Net Linux, Windows, macOS, AndroidIOS, Javascript C++

Phán quyết

TensorFlow là thư viện tốt nhất vì nó được xây dựng để mọi người đều có thể truy cập. Thư viện TensorFlow kết hợp các API khác nhau để xây dựng kiến ​​trúc học sâu ở quy mô lớn như CNN hoặc RNN. TensorFlow dựa trên tính toán đồ thị, cho phép nhà phát triển hình dung việc xây dựng mạng nơ-ron với Tensorboad. Công cụ này rất hữu ích để gỡ lỗi chương trình. Cuối cùng, Tensorflow được xây dựng để triển khai trên quy mô lớn. Nó chạy trên CPU và GPU.

Tensorflow tạitracNó có mức độ phổ biến cao nhất trên GitHub so với các thư viện học sâu khác.

So sánh Machine Learning như một dịch vụ

Sau đây là 4 nhà cung cấp dịch vụ DL phổ biến

Google Cloud ML

Google Giải pháp này cung cấp mô hình được đào tạo sẵn cho nhà phát triển có sẵn trong Cloud AutoML. Giải pháp này dành cho các nhà phát triển không có kiến ​​thức chuyên sâu về lập trình. học máyCác nhà phát triển có thể sử dụng công nghệ tiên tiến nhất. GoogleMô hình được huấn luyện sẵn của họ dựa trên dữ liệu của chính họ. Điều này cho phép bất kỳ nhà phát triển nào cũng có thể huấn luyện và đánh giá bất kỳ mô hình nào chỉ trong vài phút.

Google Hiện tại, nó cung cấp API REST cho thị giác máy tính, nhận dạng giọng nói, dịch thuật và xử lý ngôn ngữ tự nhiên.

Google Cloud ML

Sử dụng Google Cloud, bạn có thể đào tạo bản dựng khung máy học trên TensorFlow, Scikit-learn, XGBoost hoặc Keras. Google Cloud học máy sẽ đào tạo các mô hình trên đám mây của nó.

Ưu điểm khi sử dụng Google Điện toán đám mây mang lại sự đơn giản trong việc triển khai máy học vào môi trường sản xuất. Không cần phải thiết lập container Docker. Bên cạnh đó, đám mây lo liệu phần cơ sở hạ tầng. Nó biết cách phân bổ tài nguyên với CPU, GPU và TPU. Điều này giúp quá trình huấn luyện nhanh hơn nhờ tính toán song song.

AWS SageMaker

Một đối thủ cạnh tranh lớn của Google Cloud is Amazon đám mây, AWS. Amazon đã phát triển Amazon SageMaker cho phép các nhà khoa học và nhà phát triển dữ liệu xây dựng, đào tạo và đưa vào sản xuất bất kỳ mô hình học máy nào.
SageMaker có sẵn ở dạng Jupyter Notebook và bao gồm thư viện máy học được sử dụng nhiều nhất, TensorFlow, MXNet, Scikit-learn cùng nhiều thư viện khác. Các chương trình được viết bằng SageMaker sẽ tự động chạy trong vùng chứa Docker. Amazon xử lý việc phân bổ nguồn lực để tối ưu hóa việc đào tạo và triển khai.

AWS SageMaker

Amazon cung cấp API cho các nhà phát triển để bổ sung thêm thông tin cho ứng dụng của họ. Trong một số trường hợp, không cần phải phát minh lại bánh xe bằng cách xây dựng lại từ đầu các mô hình mới trong khi đã có những mô hình được đào tạo trước mạnh mẽ trên đám mây. Amazon cung cấp các dịch vụ API cho thị giác máy tính, chatbot đàm thoại và dịch vụ ngôn ngữ:

Ba API chính có sẵn là:

  • Amazon Sự công nhận: cung cấp nhận dạng hình ảnh và video cho một ứng dụng
  • Amazon Hiểu: Ví dụ, thực hiện khai thác văn bản và xử lý ngôn ngữ thần kinh để tự động hóa quy trình kiểm tra tính hợp pháp của tài liệu tài chính
  • Amazon Lex: Thêm chatbot vào ứng dụng

Azure Studio học máy

Có lẽ một trong những cách tiếp cận thân thiện nhất với học máy là Azure Xưởng học máy. Ưu điểm đáng kể của giải pháp này là không cần có kiến ​​thức lập trình trước đó.

Microsoft Azure Machine Learning Studio là một công cụ cộng tác kéo và thả để tạo, đào tạo, đánh giá và triển khai giải pháp học máy. Mô hình có thể được triển khai hiệu quả dưới dạng dịch vụ web và được sử dụng trong một số ứng dụng như Excel.

Azure Giao diện máy học có tính tương tác cao, cho phép người dùng xây dựng mô hình chỉ bằng cách kéo và thả.ping các yếu tố một cách nhanh chóng.

Azure Studio học máy

Khi mô hình đã sẵn sàng, nhà phát triển có thể lưu nó và đẩy nó vào Azure Thư Viện Ảnh or Azure Thương trường.

Azure Học máy có thể được tích hợp vào R hoặc Python gói tích hợp tùy chỉnh của họ.

IBM Watson ML

Watson Studio có thể đơn giản hóa các dự án dữ liệu với quy trình được sắp xếp hợp lý, cho phép...tracWatson Studio khai thác giá trị và cung cấp thông tin chi tiết từ dữ liệu để giúp doanh nghiệp hoạt động hiệu quả và nhanh chóng hơn. Nó cung cấp một môi trường khoa học dữ liệu và học máy cộng tác dễ sử dụng để xây dựng và huấn luyện mô hình, chuẩn bị và phân tích dữ liệu, cũng như chia sẻ thông tin chi tiết, tất cả chỉ trong một nơi. Watson Studio rất dễ sử dụng với thao tác kéo và thả mã.

IBM Watson ML

Studio Watson hỗ trợ một số framework phổ biến nhất như Tensorflow, Keras, Pytorch, Caffe và có thể triển khai thuật toán deep learning trên các GPU mới nhất của Nvidia để giúp tăng tốc mô hình hóa.

Phán quyết

Theo quan điểm của chúng tôi, Google Giải pháp điện toán đám mây là giải pháp được khuyến nghị nhiều nhất. Google Giải pháp điện toán đám mây này có giá thấp hơn AWS ít nhất 30% cho lưu trữ dữ liệu và giải pháp học máy. Google đang làm rất tốt công việc dân chủ hóa trí tuệ nhân tạo. Họ đã phát triển một ngôn ngữ mã nguồn mở, TensorFlow, được tối ưu hóa. kho dữ liệu Kết nối này cung cấp các công cụ mạnh mẽ từ trực quan hóa dữ liệu, phân tích dữ liệu đến học máy. Bên cạnh đó, Google Giao diện điều khiển tiện dụng và toàn diện hơn nhiều so với AWS hoặc... Windows.

Tóm tắt bài viết này với: