Ngôn ngữ lập trình nào thích hợp để phát triển AI trên windows?

Ngôn ngữ lập trình nào thích hợp để phát triển AI trên windows ???
Nhờ các bác tư vấn .

1 Like

đối với AI thì ngôn ngữ lập trình thì không quan trọng lắm đâu , quan trọng là cái cốt lõi của nó kìa .

3 Likes

Về mặt ngôn ngữ thì trên Windows có 2 ngôn ngữ phù hợp:
C# cho những thứ cần làm nhanh và làm đẹp.
C++ cho những thứ ẩn đằng sau và chạy nhanh.

Nhưng AI thì vấn đề không nằm ở 2 thứ đó, ngôn ngữ không đóng vai trò quan trọng lắm, trừ khi khối lượng công việc quá lớn.

2 Likes

Dùng Python lập trình AI đc ko bạn

Hi Llama Editor.
Trong câu hỏi của bạn nói đến 3 khái niện không liên quan :slight_smile:

  1. Ngôn ngữ lập trình. Cai này thường khôn gắn với lạp trình AI, app, web v.v.v… nó là công cụ và cũng thường không cố định với hdh.
  2. Phát triển AI. Cái này là các giải thuật, thuật toán và nghiên cứu nó không phụ thuộc vào HDH ngôn ngữ lập trình.
  3. Trên window. Cái này cũng thế.

Còn nếu bạn muốn nghiên cúu AI thì ngôn ngữ tốt nhất là Python. Tại sao ?

  1. Dễ học người làm nghiên cứu thường không phải lập trình viên nên nói chung là cái gì đơn giản là được.
  2. Nhiều thư viện.
  3. Nhiều fw hỗ trợ.
    HDH nên chọ Linux. Cac demo trên mạng thường là lập trình trên ubuntu + cuda + tf/caffe/v.v.v… + python,. Nếu là người mói thì nên bắt đâu một cách đơn giản nhất.
4 Likes

Đâu phải cả diễn đàn xài Linux thì tư vấn cho người ta xài luôn đâu nhỉ? Unix OS rất khó với người mới bắt đầu học lập trình, nên câu hỏi của em này chuẩn rồi!
Để bắt đầu, như 1 số người đã gợi ý thì dùng Python để làm ML (ML chỉ là 1 nhánh của AI, AI rất rộng lớn) vì có nhiều framework có sẵn! Sau đó thì học C++ để tăng tốc performance, và nếu thích làm giao diện đẹp thì học thêm C#, ko thì có thể dùng Python dựng UI luôn!

2 Likes

Hi Nguyễn Phạm Anh Quân.
Theo ý kiến cá nhân mình thì các fw AI thường chỉ cung cấp môi trường chạy các thuật toán chứ không phải là các thư viện hoàn chỉnh. (Giống như trình biên dich). Quan trọng là đọc các thuật toán để triển khai trên đó (đọc code) mà đa phần đều triển khai trên linux. Tất nhiên code đó hoàn toàn có thể chạy trên window nhưng sẽ gặp phải nhiều vấn đề.

1 Like

Vấn đề thì ở đâu chả có, quan trọng là có tự giải quyết dc hay ko! Mà rõ ràng em này đang hỏi lập trình trên Windows, em lại tư vấn Linux, ko liên quan!

1 Like

Em thấy rằng anh nói có phần đúng và có phần sai. Cái phần đúng của anh là anh trả lời windows em thấy có lý vì anh là người có óc quan sát cực kì tốt(OP hỏi là AI trên windows). Cái phần sai của anh(cái phần này em nghĩ chỉ 5%) là anh @Phong_Ky_Vo chỉ là tư vấn cho OP là nên dùng linux vì nó có thể sẽ hiệu quả hơn chứ không bảo là “khi làm AI đừng dùng windows”. Em cho rằng nhận định của anh đúng nhưng cách hành văn cũng như diễn đạt của anh luôn luôn làm quá mọi chuyện lên và không tài nào thuyết phục người khác và chỉ khiến người khác càng bực thêm và càng muốn gây tranh cãi với anh. Em nghĩ là anh nên bình tĩnh lại một xíu, nói chuyên một cách nhỏ nhẹ thì người ta dễ dàng hiểu lời nói của anh hơn.

Quay trở lại với OP, bạn đừng có nghĩ theo một phạm trù rằng ngôn ngữ lập trình hoàn toàn quyết định cho dự án của bạn như thế nào. Quan trọng là sản phẩm của bạn như thế nào thôi. Đừng có nghe dư luận rằng AI thì dùng python là bạn nghĩ vậy. Cơ bản vì python cú pháp dễ hiểu, không quá dài như C++ nên được nhiều người sử dụng để viết thuật toán và AI. AI thì ngôn ngữ không quan trọng, quan trọng là bạn hiểu được cốt lõi AI là như thế nào? Bạn biết được các thuật toán của chưa .etc

Nếu có thời gian xin vui lòng đọc bài viết sau để hiểu rõ hơn: https://toidicodedao.com/2015/07/30/c-la-ngon-ngu-tuyet-voi-nhat-java-php-c-c-ruby-chi-toan-la-thu-re-tien/

2 Likes

Việc tư vấn cho người mới học cực kỳ quan trọng, có thể khiến họ tiếp tục đam mê hoặc bỏ luôn IT! Rõ ràng @Phong_Ky_Vo đã tư vấn sai khi nói Linux dễ cho người mới bắt đầu học lập trình nên anh tranh luận, chỉ có em thích làm quá lên thôi @anon10709737!
Nói thêm, anh đã thấy nhiều trường hợp cứ thích làm phức tạp hóa dự án lên để rồi từ bỏ ngay từ những bước đầu tiên, việc này rất nguy hiểm nên anh muốn làm cho ra lẽ!

1 Like

Cho đến nhận định này thì em lại cho rằng là sai! Em không có ý định bảo OP dùng linux. Ý reply trên của em cho rằng nhận định của anh đúng nhưng xem lại cách nói chuyện một chút chút xíu thôi. Đấy là phần phụ, còn phần chính reply trên là nhắc nhở OP rằng: “ngôn ngữ chỉ là công cụ, thành quả của bạn mới là thứ được quan tâm”. Chứ em thấy sử dụng nền tảng windows cực kì thích hợp cho newbie.

2 Likes

Java thì sao các bạn?

Hi Nguyễn Phạm Anh Quân.

  1. Đúng là Linux thì không thân thiện với người mới lắm nhưng trong nghiên cứu về học máy thì đa phần các code mẫu ví du đều dùng nó.

P/S Vạn sự khởi đầu nan.

Java cũng ok mà anh! Em thấy nó cũng phù hợp. Nói chung ngôn ngữ không quan trọng lắm

2 Likes

Trả lời cho topic:
-Cá nhân mình không tư vấn được khi câu hỏi của bạn rất rộng -> AI. Vì nếu tư vấn thì cũng chung chung chả giải quyết được gì cho bạn mấy, mà còn làm bạn hoang mang. Vì có thể bạn còn không biết bạn đạng nghiên cứu cái ngách nào trong AI (do câu hỏi của bạn nên mình đoán thế)

-Nhiều bạn bảo ngôn ngữ, công cụ, nền tảng, môi trường không quan trọng, quan trọng là thuật toán, cốt lõi… Tuy nhiên đây chỉ là nhìn trên 1 khía cạnh, trong 1 hoàn cảnh nào đó nó lại trở nên quan trọng, các yếu tố nhỏ nhặt cũng có thể trở thành yếu tố quyết định. Cho nên cần biết hoàn cảnh đã, mà bạn nêu vân đề đã chung chung rồi thì ai biết bạn ngứa chỗ nào

-Bạn hỏi chung chung thì sẽ có câu trả lời chung chung, bạn hỏi không có tiêu chí thì bạn cũng nhận được câu trả lời dựa trên nhiều tiêu chí khác nhau -> nêu vấn đề cụ thể càng tốt

Trả lời cho các bạn khác:
Theo ý kiến của mình. Bạn nào biết (đã làm, có kiến thức về vấn đề đó) thì hãy tham gia tư vấn. Còn nếu chỉ đọc review hay mấy bài intro để có hiểu biết chung, các khái niệm cơ bản để chém gió thì không nên tham gia vào vì chỉ tốn thời gian của các bạn và không giúp ích được gì cho bạn đang hỏi, còn làm họ hoang mang -> Ai biết rõ thì nói, không biết hoặc biết ít thì im và đọc chùa, quan sát như mình thôi :grin:
-> Chỉ tư vấn khi mình thực sự nắm rõ vấn đề

4 Likes

Hi all.
Mình đang dùng linux và cũng mới bắt đầu nghiên cứu mạng học sâu. Mình gặp 3 vấn đề mà mình thấy Linux là phù hợp hơn. Rất hi vọng được mọi người cùng lĩnh vực phản biện cho ý kiến.

  1. Dữ liệu lớn và thời gian tính toán. Đơn vị dữ liệu trong học sâu thường tính bằng trục g.
    https://github.com/matthewearl/deep-anpr (Dự án đọc biển số 36G ảnh ~100000 ảnh). Với hệ thống linux mình tối ưu để hệ điều hành chỉ chạy dưới 1G ram (Khó cho một hệ thống window) và thường thời gian chạy máy 2-3 ngày là bính thường. (Chạy full tải và dùng swap liên tục.)
  2. Tiền sử lý dữ liệu. Trên linux có rất nhiều các gói phần mềm hỗ trợ việc này + một ngôn ngữ shell mạnh cho phép tự động xử lý 100000 file dữ liệu nhanh chóng đơn gian.
    https://hackernoon.com/finding-the-genre-of-a-song-with-deep-learning-da8f59a61194 dùng gói phần mềm sox để chuyển file audio thành file ảnh để xử lý. (Không rõ có chương trình nòa trên window không)
  3. Cài đặt thư viện đơn giản. VD OpenCV.

P/S Đó là ý kiến cá nhân của mình và mang tính chủ quan.

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?