Các lựa chọn thay thế OSS của Python cho Hộp công cụ mạng thần kinh Matlab. Bất kỳ cuộc so sánh nào?


16

Tôi muốn độc lập với phần mềm thương mại cho công việc khoa học của mình. Tôi thấy sự phụ thuộc của một gói thương mại như Matlab và các hộp công cụ của nó không đạt yêu cầu, vì tôi không biết liệu tôi có quyền truy cập Matlab trong tương lai hay không và vì tôi không thích ngôn ngữ này. Do đó, tôi đang tìm giải pháp thay thế.

May mắn thay, tôi khá thành thạo Python (và tôi yêu ngôn ngữ), và với NumPy, SciPy, Matplotlib, Basemap và NetCDF thường xuyên đọc và viết, nó đáp ứng hầu hết các nhu cầu của tôi. Hầu hết - Tôi vẫn quay trở lại Matlab khi tôi cần huấn luyện truy xuất vệ tinh bằng cách sử dụng các tri giác đa lớp chuyển tiếp, ví dụ: te sử dụng Mạng nơ ron nhân tạo.

Như không có gì lạ với phần mềm nguồn mở, có nhiều hơn một gói làm các mạng thần kinh. Đáng chú ý hơn một:

  • Cách đây một thời gian, tôi đã thử dùng PyBrain , "con dao quân đội thụy sĩ cho mạng lưới thần kinh", nhưng tôi đã không thành công trong việc đạt được bất kỳ kết quả khả quan nào trong một thời gian ngắn (cả thời gian phát triển và thời gian chạy). Có lẽ tôi đã không cố gắng đủ, hoặc có lẽ nó không thực sự hướng đến nhu cầu chính xác của tôi.

  • Vừa nãy tôi phát hiện ra rằng có một gói gọi là neurolab , có vẻ đầy hứa hẹn: Thư viện mạng thần kinh đơn giản và mạnh mẽ cho Python , với API như Hộp công cụ mạng thần kinh (NNT) từ MATLAB .

  • FFnet , một giải pháp đào tạo mạng thần kinh chuyển tiếp thức ăn nhanh và dễ sử dụng cho python

  • đơn giản

  • Peach , một thư viện cho trí thông minh tính toán và học máy

  • Có các ràng buộc Python với FANN , thư viện Mạng nơ ron nhân tạo nhanh , được mô tả là một tiêu chuẩn thực tế trong bài đăng StackOverflow này .

  • Có lẽ có những người khác.

Có ai đã trải qua nỗ lực kết hợp các tùy chọn khác nhau, dựa trên các tiêu chí như dễ sử dụng, tốc độ, v.v.? Trường hợp sử dụng của riêng tôi là truy xuất vệ tinh, ví dụ phù hợp với hàm phi tuyến tính mạnh của nhiều biến. Tôi rất là một người sử dụng mạng lưới thần kinh; Tôi không quan tâm đến việc nghiên cứu hoạt động bên trong của họ.

Câu hỏi này trên Stats.SE có liên quan, nhưng với trọng tâm khác.


Câu hỏi của bạn rất thú vị, nhưng tôi nghĩ bạn đang hỏi quá nhiều. Một đánh giá toàn diện về các phần mềm mạng thần kinh khác nhau trong python là quá rộng để có thể trả lời trên diễn đàn này. Có thể hữu ích để thu hẹp trọng tâm câu hỏi của bạn theo một tiêu chí và phần mềm cụ thể mà bạn quan tâm.
Paul

Hơn nữa, chúng tôi không thể di chuyển câu hỏi của bạn vì nó đã quá cũ . Nếu bạn cảm thấy rằng một trang SE khác phù hợp hơn với câu hỏi của bạn, bạn sẽ phải xóa trang này và đăng lại trên trang kia. Ngay cả khi bạn đăng lại câu hỏi, tôi vẫn cảm thấy rằng lợi ích tốt nhất của bạn là thu hẹp phạm vi câu hỏi của bạn để tăng khả năng có được câu trả lời tốt.
Paul

Không phải Python, nhưng hiện tại tôi đang sử dụng caffe cho mạng lưới thần kinh. Chủ yếu là cho mạng thần kinh tích chập, nhưng thậm chí còn dễ dàng hơn để thiết lập một NN thông thường.
Siyuan Ren

Câu trả lời:


1

Bạn đã kiểm tra scikit-learn ? Đó hoàn toàn không phải là miền của tôi nhưng tôi đã nghe một số trải nghiệm người dùng rất tích cực ...


Sẽ nằm trong danh mục Có thể có những người khác - thêm một thư viện khác vào danh sách không giải quyết được vấn đề của tôi, mà là mở rộng phạm vi của một công ty liên ngành mà tôi hy vọng sẽ thấy ...
gerrit

Chà, từ những gì tôi nghe và đọc, lợi thế của scikit-learn là nó là một khung chứa vô số phương thức. Có lẽ điều đó sẽ giảm bớt công việc của bạn khi bạn thực hiện một phương pháp liên ngành áp dụng cho vấn đề của bạn.
GertVdE

3
scikit-learn không chứa các phương thức mạng thần kinh, mô hình mạng thần kinh nhân tạo đã bị xóa trong 0.12 và tại thời điểm đó, người dùng cần chức năng đó chuyển sang PyBrain.
Aron Ahmadia

1

Bạn đã nhìn vào Theano chưa? nó có vẻ khá mạnh mẽ .


1
Thật vậy, Theano rất mạnh mẽ. Nhưng đó là trình biên dịch (hoặc khung) cho phép một người viết mã python sau đó được biên dịch và thực thi trên GPU. Theano có thể được sử dụng để thực hiện NN, nhưng nó không phải là thư viện ML.
Artem Sobolev

1

Tôi cũng đến từ việc sử dụng các mạng lưới thần kinh trong Matlab cho Python. Một trong những thư viện mạnh nhất trong Python là "Pylearn2" http://deeplearning.net/software/pylearn2/ . Hiện tại, đây là thư viện hoạt động mạnh nhất và có nhiều tính năng khác nhau để thử nghiệm. Nó dựa trên Theano và như vậy là nhanh và có thể được chạy trên GPU. Thật không may, đây cũng là nhược điểm của nó: API liên tục thay đổi và có đường cong học tập cao. Bạn cũng phải định cấu hình mạng thần kinh của mình bằng các tệp YAML. Tôi đã thành công hơn khi sử dụng PyBrain để tạo các mạng thần kinh cơ bản. Tôi cần một giải pháp cho vấn đề hồi quy, trong đó tôi phải dự báo phụ tải cho một nhà máy điện dựa trên các yếu tố thời tiết. Hướng dẫn tại đây: http://fastml.com/pybrain-a-simple-neural-networks-l Library-in-python / đã cho tôi 90% giải pháp mà tôi cần.

Một vấn đề tôi tìm thấy với PyBrain là tốc độ. Nó được viết nguyên bản bằng Python. Tôi đã tìm thấy việc đào tạo một mạng lưới thần kinh chậm hơn ~ 50 lần so với Matlab. Một số người khác đã tìm thấy thành công với việc đẩy nhanh quá trình đào tạo PyBrain với thư viện arac.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.