Hướng dẫn matlab vs python for machine learning reddit - matlab vs python cho máy học reddit

Tôi sẽ chơi Devils Advocate ở đây đơn giản vì tôi cần hiểu thêm về lý do của bạn không chỉ trái ngược. Vì thế....

Là một ngôn ngữ, tôi đồng ý Matlab có vấn đề của nó nhưng tôi không thể nói rằng tôi thực sự phải chịu đựng nó. Tôi thực hiện một số lượng khá lớn xử lý hình ảnh, vv; Những thứ phù hợp với phần mềm Matrix Centric của Matlab.

Re: "IDE là rác rưởi". Có thật không? Như tôi đã viết ở nơi khác, tôi thường sử dụng các công cụ trực quan tương tác một cách nhanh chóng trong khi dừng trong trình gỡ lỗi để tìm ra không chỉ những gì đã sai mà còn để có được một bức tranh lớn hơn để tìm ra cách khắc phục mọi thứ. Hơn nữa, tôi có thể nhận được sự giúp đỡ hoặc mở chức năng bằng cách chọn nó, v.v ... Tất cả trong tất cả những gì tôi thấy nó rất hiệu quả, vậy làm thế nào để python ide so sánh với điều đó?

RE "Thời gian chạy là xấu" - rất nhiều thói quen cốt lõi của Matlab, và sau đó là một số, là các thư viện không phải là MATLAB của bên thứ 3 (BLAS, v.v.). Rõ ràng, mã được phát triển trên đó và tốc độ của phần lớn như vậy phụ thuộc vào người viết nó (vô hướng và các vòng lặp của vector hóa). Nếu tôi gặp vấn đề về yêu cầu thời gian, tôi sẽ sử dụng trình hồ sơ và/hoặc làm cho MATLAB tốt hơn hoặc thay thế chức năng tắc nghẽn với tệp C/MEX. Trên thực tế, tôi vừa đảm nhận cơ sở mã MATLAB của bên thứ 3 (một bộ tích hợp gồm khoảng 10 alg khác nhau với khoảng một trăm chức năng) và sử dụng trình hồ sơ, chỉ tăng gấp đôi tốc độ của nó chỉ bằng cách viết mã MATLAB tốt hơn (tức là A A tốt hơn người viết kiểu C trong MATLAB có thể tạo ra một số mã ghê rợn)

Re: Kiểm soát phiên bản - MATLAB có giao diện tích hợp cho một số điều khiển phiên bản nhưng thật kỳ lạ là các công ty tôi làm việc dường như không bao giờ sử dụng những điều đó. Theo kinh nghiệm của tôi, sử dụng kiểm soát phiên bản là một chức năng của chính sách của công ty và kinh nghiệm của người dùng. Nếu công ty có chính sách rằng mọi thứ sẽ được kiểm soát nguồn hơn mọi người sẽ làm điều đó, nhưng ở một thái cực khác, nếu họ không và lập trình viên không thành thạo như vậy (như nhiều người khoa học Matlab không có phần mềm nền tảng kỹ thuật) Họ sẽ không. Điểm mấu chốt, tôi không chắc ID pin vấn đề này trên matlab mỗi se.

BUGS: Thật không may, đối với tôi để nói chuyện rộng rãi về mã tôi đã viết sẽ cho tôi ID và tôi không chơi trò chơi đó. Tuy nhiên, tôi đã đưa ra một lượng mã khá lớn, đã biên dịch MATLAB trong các sản phẩm cũng như mã R & D nội bộ và không gặp nhiều vấn đề về lỗi. Tôi nghĩ lý do cho điều này là việc kiểm tra thuật toán của tôi, ở một mức độ lớn bao gồm việc chạy hàng ngàn vật phẩm thông qua ứng dụng để hiểu về hiệu suất so với lỗi, có thói quen kỳ lạ này là tiết lộ các lỗi và tôi sửa chúng của thử/bắt xung quanh để giải quyết các vấn đề). Trên thực tế, trong tất cả các sản phẩm tôi đã đưa ra mã MATLAB được biên dịch đã mang lại ít sửa lỗi nhất. Tôi nghĩ rằng một phần của điều này gần như vô tình ở đó từ độ phức tạp của phần mềm, VS quan điểm phức tạp về thuật toán, mã của tôi rất đơn giản. Chẳng hạn, tôi không cần phải đa hình và các nhà máy đẳng cấp, v.v ... Những vật phẩm OOP đó đòi hỏi rất nhiều thiết kế phía trước và gỡ lỗi thời gian (khó gỡ lỗi một đoạn mã đa hình chỉ bằng cách nhìn vào nó). Lưu ý, ngay cả khi tôi chuyển sang Python, tôi không mong đợi bản chất của những gì tôi viết để thay đổi.

RE HD5, v.v. - Tôi đã gặp một số vấn đề ở đó nhưng tôi thú nhận rằng tôi chưa xem xét nó gần đây nên tôi không biết liệu có gì đã được giải quyết và giải quyết vấn đề HD5 là rất quan trọng (tốt, tôi không phải giải quyết Với điều đó trong năm ngoái nhưng nó đã ở trong quá khứ).

Cảm ơn

Điều này đơn giản là không đúng liên quan đến Matlab. Matlab không phải là một ngôn ngữ mục đích chung, được hình thành tốt. Mặc dù nó rất giỏi về những thứ rất tốt, nhưng nó thay đổi từ xấu, xấu thảm khốc, đến không có khả năng làm việc-nó liên quan đến những điều nó không giỏi.

Ví dụ - Tại một công việc trước đây, tôi đã viết một công cụ CLI phong phú để tự động hóa các tìm kiếm lớn về khoa học bằng cách sử dụng các khóa API nâng cấp của tổ chức lớn của tôi. Điều này liên quan đến các cuộc gọi API, các lớp để duy trì trạng thái có các phương thức lớp quan trọng chung cho tất cả các cơ sở dữ liệu, nhưng có thể dễ dàng được kế thừa để thêm cơ sở dữ liệu mới vào các phương thức nhà máy, giảm xuống C để thực hiện chuỗi mờ phù hợp với 1000x nhanh hơn Python bản địa , vv vv Dự án này sẽ không thể thực hiện được trong MATLAB. Vâng, bạn có thể đã làm nó trong JavaScript. Có, bạn có thể đã thực hiện nó trong Java, C ++, v.v. Matlab? Không phải là một cơ hội.

Vì vậy, tl; dr bạn đưa ra lời khuyên rất tốt cho các lập trình viên mới (không được sửa chữa về ngôn ngữ bạn chọn). Nhưng Matlab có lẽ thậm chí không nên được coi là ngôn ngữ lập trình, mà là một khung toán học và kỹ thuật cực kỳ hữu ích với môi trường nhà phát triển độc quyền.

Bạn muốn giới thiệu ngôn ngữ nào cho một sinh viên sắp bắt đầu nghiên cứu của mình trong ML (và hy vọng ở lại nghiên cứu)?

Tôi biết về loại câu hỏi này nhưng tôi muốn xem quan điểm của cộng đồng này về vấn đề này.

MODS: Tôi hy vọng các điểm dữ liệu trong các bình luận của chủ đề này sẽ đưa ra một số ý tưởng về các công cụ mà học viện đang sử dụng, điều mà tôi nghĩ sẽ có lợi cho một người đang tham gia nghiên cứu. Xin lỗi trước nếu bạn nghĩ rằng bài đăng này thiếu kỹ thuật. Vui lòng loại bỏ nếu bạn nghĩ như vậy.

EDIT: Tôi muốn hỏi điều này trên chủ đề này sau khi xem điều này

EDIT2: Cảm ơn vì đã trả lời. Nó cũng sẽ có lợi nếu bạn đề cập đến công việc nghiên cứu của bạn là gì.

Matlab hay Python có tốt hơn cho việc học máy không?

Phần này có một câu trả lời dễ dàng: Python là người chiến thắng trước Matlab. Python có hàng tấn thư viện và gói cho cả mô hình học máy trường học cũ và trường học mới. Thêm vào đó, Python là ngôn ngữ được sử dụng rộng rãi nhất cho nghiên cứu máy học hiện đại trong ngành công nghiệp và học viện.Python is the winner over Matlab. Python has tons of libraries and packages for both old school and new school machine learning models. Plus, Python is the most widely used language for modern machine learning research in industry and academia.

Matlab sẽ được thay thế bằng Python?

Python có thể thay thế Matlab Python là miễn phí và có sẵn trên mọi nền tảng và do đó có tính di động cao.Mặc dù Python không được dự định là một sự thay thế miễn phí cho MATLAB, nhưng nó thực sự rất phù hợp cho vai trò này.Nhiều người đã thực hiện thành công việc chuyển đổi từ Matlab sang Python. Python is free and available on every platform and therefore is highly portable. Although Python was not intended as a free alternative to MATLAB, it's actually well suited for this role. Many people have successfully made the switch from MATLAB to Python.

Matlab có tốt nhất cho việc học máy không?

Trong MATLAB, cần có ít dòng mã hơn và xây dựng một mô hình học tập hoặc học sâu, mà không cần phải là một chuyên gia trong các kỹ thuật.MATLAB cung cấp môi trường lý tưởng cho học tập sâu, thông qua đào tạo và triển khai mô hình.MATLAB provides the ideal environment for deep learning, through model training and deployment.

Python có tốt hơn Matlab cho khoa học dữ liệu không?

Python mới hơn với lĩnh vực này nhưng ngày càng trở nên phổ biến cho các nhiệm vụ tương tự.Như bạn sẽ thấy trong bài viết này, Python có tất cả sức mạnh tính toán của Matlab cho các nhiệm vụ khoa học và giúp việc phát triển các ứng dụng mạnh mẽ và dễ dàng.Python has all of the computational power of MATLAB for science tasks and makes it fast and easy to develop robust applications.