Selalu ada "perang mazhab" dalam bidang teknologi. Sama ada perdebatan tentang kebaikan dan keburukan sistem pengendalian yang berbeza, pembekal awan atau rangka kerja pembelajaran mendalam, apa yang diperlukan hanyalah beberapa biji bir dan fakta akan keluar dari tingkap dan orang ramai mula berebut teknologi yang mereka sokong seperti Holy Grail. peperangan.
Nampaknya tiada penghujung perbincangan tentang IDE, sesetengah orang lebih suka VisualStudio, ada yang lebih suka IntelliJ, dan yang lain lebih suka editor lama biasa seperti Vim. Selalunya dikatakan bahawa editor teks yang anda suka gunakan sering mencerminkan keperibadian pengguna Ini mungkin kedengaran agak tidak masuk akal.
Selepas kebangkitan teknologi AI, "perang" yang serupa nampaknya telah tercetus antara dua kubu rangka kerja pembelajaran mendalam PyTorch dan TensorFlow. Terdapat banyak penyokong di belakang kedua-dua kem, dan kedua-duanya mempunyai alasan kukuh mengapa rangka kerja pilihan mereka adalah yang terbaik.
Setelah berkata demikian, data menunjukkan fakta yang jelas. TensorFlow kini merupakan rangka kerja pembelajaran mendalam yang paling banyak digunakan. Ia menerima hampir dua kali lebih banyak soalan pada StackOverflow setiap bulan berbanding PyTorch.
Tetapi sebaliknya, PyTorch telah berkembang dengan sangat baik baru-baru ini, dan pengguna TensorFlow masih belum berkembang. Sebelum artikel ini, PyTorch telah semakin mendapat tarikan.
Untuk kesempurnaan, imej di bawah juga menunjukkan Keras, yang dikeluarkan pada masa yang sama dengan TensorFlow. Jelas sekali, Keras telah berprestasi rendah dalam beberapa tahun kebelakangan ini, hanya kerana Keras agak mudah dan terlalu perlahan untuk keperluan kebanyakan pengamal pembelajaran mendalam.
Kepopularan PyTorch masih berkembang, manakala pertumbuhan TensorFlow telah terbantut
Carta daripada aliran StackOverflow
Trafik StackOverflow TensorFlow mungkin tidak menurun dengan cepat, tetapi ia masih menurun. Jadi, ada sebab untuk berfikir bahawa aliran menurun ini akan menjadi lebih ketara pada tahun-tahun akan datang, terutamanya dalam ruang Python.
TensorFlow, yang dibangunkan oleh Google, merupakan salah satu rangka kerja pertama yang muncul di parti pembelajaran mendalam di penghujung 2015 satu. Walau bagaimanapun, seperti mana-mana perisian, versi pertama sentiasa agak menyusahkan untuk digunakan.
Inilah sebabnya Meta (Facebook) mula membangunkan PyTorch, sebagai teknologi yang mempunyai fungsi serupa dengan TensorFlow tetapi lebih mudah untuk dikendalikan.
Pasukan pembangunan TensorFlow dengan cepat menyedari perkara ini dan mengguna pakai banyak ciri paling popular pada PyTorch dalam kemas kini versi utama TensorFlow 2.0.
Peraturan yang baik ialah pengguna boleh melakukan apa sahaja dalam TensorFlow yang PyTorch boleh lakukan. Ia akan mengambil dua kali lebih banyak usaha untuk menulis kod. Malah pada hari ini ia tidak begitu intuitif dan terasa sangat tidak pythonic.
Sebaliknya, bagi pengguna yang suka menggunakan Python, pengalaman PyTorch adalah sangat semula jadi.
Banyak syarikat dan institusi akademik tidak mempunyai kuasa pengkomputeran berkuasa yang diperlukan untuk membina model besar. Walau bagaimanapun, apabila ia datang kepada pembelajaran mesin, skala adalah raja; lebih besar model, lebih baik prestasinya.
Dengan bantuan HuggingFace, jurutera boleh mengambil model yang besar, terlatih dan ditala serta memasukkannya ke dalam saluran paip aliran kerja mereka dengan hanya beberapa baris kod. Walau bagaimanapun, mengejutkan 85% daripada model ini hanya berfungsi dengan PyTorch. Hanya kira-kira 8% daripada model HuggingFace adalah unik untuk TensorFlow. Selebihnya boleh dikongsi antara dua bingkai.
Ini bermakna jika ramai pengguna hari ini merancang untuk menggunakan model besar, mereka lebih baik menjauhi TensorFlow, jika tidak, mereka perlu melabur banyak sumber pengkomputeran untuk melatih model tersebut.
PyTorch lebih popular di kalangan akademik. Ini bukan tanpa sebab: tiga perempat daripada kertas penyelidikan menggunakan PyTorch. Malah di kalangan penyelidik yang mula menggunakan TensorFlow — ingat, ia datang lebih awal dalam pembelajaran mendalam — kebanyakannya kini beralih kepada menggunakan PyTorch.
Arah aliran yang mengejutkan ini akan berterusan, walaupun Google mempunyai kehadiran yang ketara dalam penyelidikan AI dan telah menggunakan TensorFlow terutamanya.
Lebih logik, penyelidikan mempengaruhi pengajaran dan menentukan perkara yang akan dipelajari oleh pelajar. Seorang profesor yang menerbitkan kebanyakan kertas kerjanya menggunakan PyTorch akan lebih cenderung untuk menggunakannya dalam kuliah. Mereka bukan sahaja boleh lebih mudah mengajar dan menjawab soalan tentang PyTorch, mereka juga mungkin mempunyai kepercayaan yang lebih kuat dalam kejayaan PyTorch.
Oleh itu, pelajar kolej mungkin mengetahui lebih banyak tentang PyTorch daripada TensorFlow. Lebih-lebih lagi, memandangkan pelajar kolej hari ini adalah pekerja esok, arah aliran ini boleh dibayangkan...
Pada penghujung hari, rangka kerja perisian hanya penting jika mereka mengambil bahagian dalam ekosistem. Kedua-dua PyTorch dan TensorFlow mempunyai ekosistem yang agak membangun, termasuk repositori untuk model latihan selain HuggingFace, sistem pengurusan data, mekanisme pencegahan kegagalan dan banyak lagi.
Perlu dinyatakan bahawa setakat ini, ekosistem TensorFlow masih lebih maju sedikit daripada PyTorch. Tetapi perlu diingat bahawa PyTorch datang kemudian dan telah menyaksikan pertumbuhan pengguna yang besar dalam beberapa tahun kebelakangan ini. Oleh itu, ekosistem PyTorch mungkin suatu hari nanti mengatasi TensorFlow.
Walaupun kod TensorFlow menyusahkan untuk ditulis, setelah ia ditulis, ia lebih mudah digunakan daripada PyTorch Jauh lebih mudah . Alat seperti perkhidmatan TensorFlow dan TensorFlow Lite boleh digunakan ke awan, pelayan, peranti mudah alih dan IoT dalam sekelip mata.
PyTorch, sebaliknya, terkenal lambat apabila menggunakan alat keluaran. Bahawa dikatakan, ia telah menutup jurang dengan TensorFlow pada kadar yang dipercepatkan baru-baru ini.
Sukar untuk diramalkan pada masa ini, tetapi terdapat peluang yang baik bahawa PyTorch akan mengejar atau bahkan mengatasi TensorFlow dalam penggunaan infrastruktur dalam beberapa tahun akan datang.
Kod TensorFlow mungkin masih wujud untuk sementara waktu kerana menukar rangka kerja selepas penggunaan adalah mahal. Walau bagaimanapun, boleh dibayangkan bahawa aplikasi pembelajaran mendalam baharu akan semakin banyak ditulis dan digunakan menggunakan PyTorch.
TensorFlow tidak akan hilang. Cuma tak panas macam dulu.
Sebab utamanya ialah ramai orang yang menggunakan Python untuk pembelajaran mesin beralih kepada PyTorch.
Perlu diingatkan bahawa Python bukanlah satu-satunya bahasa untuk pembelajaran mesin. Ia adalah bahasa pengaturcaraan yang mewakili untuk pembelajaran mesin, yang merupakan satu-satunya sebab mengapa pembangun TensorFlow memfokuskan sokongan mereka pada Python.
TensorFlow kini juga berfungsi dengan JavaScript, Java dan C++. Komuniti juga telah mula membangunkan sokongan untuk bahasa lain seperti Julia, Rust, Scala, dan Haskell.
PyTorch, sebaliknya, sangat mengutamakan Python – itulah sebabnya ia berasa sangat Pythonic. Walaupun ia mempunyai API C++, sokongannya untuk bahasa lain tidak separuh sebaik TensorFlow.
Adalah boleh dibayangkan bahawa PyTorch akan menggantikan TensorFlow dalam Python. TensorFlow, sebaliknya, akan kekal sebagai pemain utama dalam ruang pembelajaran mendalam kerana ekosistemnya yang sangat baik, keupayaan penggunaan dan sokongan untuk bahasa lain.
Cara anda menyukai Python menentukan sama ada untuk memilih TensorFlow atau PyTorch untuk projek anda yang seterusnya.
Pautan asal: https://thenextweb.com/news/why-tensorflow-for-python-is-dying-a-slow-death
Atas ialah kandungan terperinci Mengapa TensorFlow untuk Python sedang mati dengan perlahan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!