Bahasa pengaturcaraan yang manakah akan anda pilih pada tahun 2022?
Beberapa tahun lalu terdapat pepatah bahawa Julia akan menggantikan Python dan menjadi salah satu bahasa pengaturcaraan yang paling popular. Kami mengambil sikap tunggu dan lihat terhadap kenyataan ini buat masa ini, tetapi sebagai alat yang berkuasa dalam pengkomputeran saintifik, kelebihan Julia telah muncul, yang bermaksud bahawa pengaturcara mempunyai pilihan lain.
Dalam bidang seperti sains data dan kecerdasan buatan, jika kita membandingkan Julia dan Python dengan teliti, kita akan mendapati Julia boleh melakukan tugas yang sama yang Python boleh capai, dan ia jauh lebih cekap dan mempunyai sintaks yang ringkas. Elegan, tetapi tidak dikenali sebagai Python dari segi penyebaran.
Baru-baru ini, siaran hangat di reddit telah menarik perbincangan di kalangan netizen. Catatan ini menyebut bahawa baru-baru ini, beberapa pembangun pek bahasa Julia membincangkan status semasa ML dalam Julia dan membandingkan statusnya dengan ekosistem ML Python dibandingkan. .
Alamat pos asal:
https://www.reddit.com/r/MachineLearning/comments/s1zj44/r_julia_developers_discuss_of_current_state /
Jordi Bolibar dari Universiti Utrecht percaya bahawa "Julia memang mempunyai potensi besar untuk pembelajaran mesin, tetapi status semasanya agak bercampur-campur. Lebih khusus lagi, saya berkeras untuk menggunakan Julia dalam SciML Sebab utamanya ialah Persamaan Perbezaan Perpustakaan .jl berfungsi dengan baik, tetapi saya tidak menemui apa-apa yang serupa dalam Python Walau bagaimanapun, kesakitan sebenar untuk penyelidikan saya adalah dalam Zygote Saya menghadapi dua pepijat yang melambatkan kerja saya selama beberapa bulan, tetapi saya masih menganggap Julia pilihan terbaik untuk SciML, tetapi perpustakaan ini (dan dokumentasinya) harus dioptimumkan agar lebih mesra pengguna 》
kata Netizen @jgreener64. : "ML dalam Julia sangat berkuasa dalam bidang tertentu. Semuanya mungkin dalam Julia. Masalah yang dihadapi oleh Julia ialah: dalam Julia ML memerlukan banyak pengetahuan sedia ada atau banyak masa mencari/percubaan dan kesilapan. Pada peringkat peribadi, Saya sedang membangunkan algoritma pembezaan novel dalam Julia >
Selain perbincangan hangat di kalangan netizen, pembangun pakej perisian Julia Christopher Rackauckas menjawab 7 soalan berikut yang lebih dibimbangkan oleh netizen. Rackauckas ialah seorang ahli matematik dan ahli farmakologi di MIT dan Universiti Maryland yang menggunakan Julia untuk pengaturcaraan. Rackauckas telah membuka blog khusus untuk Julia, matematik dan biologi stokastik untuk memperkenalkan kandungan yang berkaitan, dan Rackauckas telah membangunkan beberapa perpustakaan di Julia, termasuk (tetapi tidak terhad kepada) DifferentialEquations.jl dan Pumas.Christopher RackauckasSoalan termasuk:
Di manakah ML dalam Julia benar-benar bersinar hari ini? Dalam cara apakah ekosistem ini akan mengatasi prestasi rangka kerja ML popular lain (cth. PyTorch, Flax, dll.) dalam masa terdekat dan mengapa?
Kelajuan kernel Julia adalah hebat: pada CPU kami melakukannya dengan sangat baik, pada GPU semua orang hanya memanggil cudnn yang sama dan lain-lain kelajuan AD Julia juga hebat. Zygote mungkin mempunyai sedikit overhed, tetapi berbanding dengan Jax/PyTorch/TensorFlow, Zygote adalah pantas dalam kebanyakan kes. Khususnya, overhed PyTorch jauh lebih tinggi dan tidak boleh diukur dalam aliran kerja ML standard. Pendaraban matriks yang cukup besar akan menyelesaikan masalah peruntukan atau masalah O(n) lain; Julia tidak menggabungkan kernel, jadi dalam kebanyakan penanda aras jika pengguna melihatnya, ia akan melihat bahawa ia tidak menggabungkan panggilan conv atau RNN cudnn.
Soalan 4: Apakah eksperimen dan penanda aras penting yang perlu kita jejaki?
Penjadual edaran XLA sangat bagus. Apabila kita berfikir tentang sambungan, kita harus mengabaikan PyTorch dan memikirkan tentang DaggerFlux dan TensorFlow/Jax. XLA mempunyai lebih fleksibiliti untuk menukar operasi jadi saya rasa XLA adalah pemenang dan kita perlu menggunakan helah e-graf untuk memadankannya. Perkara lain yang perlu diperhatikan ialah "bahagian tengah yang hilang dalam pembezaan automatik", yang masih perlu diselesaikan.
Soalan 7: Apakah pakej perisian yang disyorkan?
Saya cenderung menggunakan Flux apabila diperlukan, tetapi semua orang harus cuba menggunakan DiffEqFlux. Setakat biji sedia ada, Flux adalah yang paling lengkap, tetapi gayanya membosankan saya. Saya ingin mempunyai Fluks yang tidak menggunakan parameter tersirat, tetapi parameter eksplisit. Saya mahu parameter ini diwakili oleh ComponentArrays.
Atas ialah kandungan terperinci Pembangun mengambil bahagian secara peribadi: Berbanding dengan bahasa Julia dan Python untuk pembelajaran mesin, yang manakah lebih baik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!