cari
Rumahpembangunan bahagian belakangTutorial PythonPanduan untuk Python Multiprocessing dan Pengaturcaraan Selari

Panduan untuk Python Multiprocessing dan Pengaturcaraan Selari

Mempercepatkan perhitungan adalah matlamat yang semua orang mahu mencapai. Bagaimana jika anda mempunyai skrip yang boleh berjalan sepuluh kali lebih cepat daripada masa berjalan semasa? Dalam artikel ini, kita akan melihat multiprocessing python dan perpustakaan yang dipanggil multiprocessing. Kami akan bercakap tentang apa yang multiprocessing, kelebihannya, dan bagaimana untuk memperbaiki masa berjalan program Python anda dengan menggunakan pengaturcaraan selari.

okay, jadi mari kita pergi!

Takeaways Key

    Pengkomputeran selari adalah kaedah untuk mempercepatkan perhitungan dengan menggunakan pelbagai teras CPU secara serentak. Ini dapat dicapai dalam python melalui multiprocessing, modul yang membolehkan penciptaan pelbagai proses, masing -masing berjalan pada teras berasingan.
  • modul multiprocessing Python memberikan manfaat seperti penggunaan CPU yang lebih baik untuk tugas intensif tinggi, lebih banyak kawalan ke atas proses kanak-kanak berbanding dengan benang, dan pelaksanaan mudah untuk tugas-tugas yang sesuai untuk pengaturcaraan selari.
  • multiprocessing python tidak selalu lebih cekap daripada pengkomputeran siri. Untuk tugas-tugas intensif CPU yang rendah, pengiraan siri boleh lebih cepat kerana overhead yang diperkenalkan oleh pemisahan pengiraan antara proses.
  • Modul multiprocessing di Python mencipta proses baru untuk setiap tugas yang perlu dilaksanakan secara serentak. Setiap proses mempunyai penterjemah python sendiri dan ruang ingatan, yang membolehkannya berjalan secara bebas dari proses lain.
  • Walaupun multiprocessing di Python dapat meningkatkan kelajuan dan kecekapan program, ia juga meningkatkan kerumitan kod. Tidak semua tugas yang sesuai untuk selaras, dan dalam beberapa kes, overhead mewujudkan dan menguruskan pelbagai proses boleh melebihi keuntungan prestasi yang berpotensi.
  • Pengenalan kepada Paralelisme

Sebelum kita menyelam ke kod python, kita perlu bercakap tentang pengkomputeran selari, yang merupakan konsep penting dalam sains komputer.

Biasanya, apabila anda menjalankan skrip python, kod anda pada satu ketika menjadi proses, dan proses berjalan pada satu teras CPU anda. Tetapi komputer moden mempunyai lebih daripada satu teras, jadi bagaimana jika anda boleh menggunakan lebih banyak teras untuk pengiraan anda? Ternyata pengiraan anda akan lebih cepat.

mari kita ambil ini sebagai prinsip umum buat masa ini, tetapi kemudian, dalam artikel ini, kita akan melihat bahawa ini tidak benar secara universal.

tanpa mendapat terlalu banyak butiran, idea di sebalik paralelisme adalah menulis kod anda dengan cara yang boleh menggunakan pelbagai teras CPU.

Untuk membuat perkara lebih mudah, mari kita lihat contoh.

pengkomputeran selari dan bersiri

Bayangkan anda mempunyai masalah besar untuk diselesaikan, dan anda bersendirian. Anda perlu mengira akar kuadrat lapan nombor yang berbeza. Apa yang anda buat? Nah, anda tidak mempunyai banyak pilihan. Anda bermula dengan nombor pertama, dan anda mengira hasilnya. Kemudian, anda pergi dengan yang lain.

Bagaimana jika anda mempunyai tiga kawan yang baik di matematik bersedia membantu anda? Setiap daripada mereka akan mengira akar kuadrat dua nombor, dan tugas anda akan lebih mudah kerana beban kerja diedarkan sama antara rakan anda. Ini bermakna masalah anda akan diselesaikan dengan lebih cepat.

Baiklah, jadi semuanya jelas? Dalam contoh -contoh ini, setiap rakan mewakili teras CPU. Dalam contoh pertama, keseluruhan tugas diselesaikan secara berurutan oleh anda. Ini dipanggil pengkomputeran siri. Dalam contoh kedua, kerana anda bekerja dengan empat teras secara keseluruhan, anda menggunakan pengkomputeran selari. Pengkomputeran selari melibatkan penggunaan proses atau proses selari yang dibahagikan di antara pelbagai teras dalam pemproses.

Panduan untuk Python Multiprocessing dan Pengaturcaraan Selari

model untuk pengaturcaraan selari

Kami telah menubuhkan apa pengaturcaraan selari, tetapi bagaimana kami menggunakannya? Nah, kami katakan sebelum pengkomputeran selari melibatkan pelaksanaan pelbagai tugas di antara pelbagai teras pemproses, yang bermaksud bahawa tugas -tugas tersebut dilaksanakan secara serentak. Terdapat beberapa soalan yang perlu anda pertimbangkan sebelum menghampiri penyejukan. Sebagai contoh, adakah terdapat pengoptimuman lain yang dapat mempercepat perhitungan kami?

Buat masa ini, mari kita ambil perhatian bahawa parallelization adalah penyelesaian terbaik untuk anda. Terdapat tiga model dalam pengkomputeran selari:

    sempurna selari. Tugas boleh dijalankan secara bebas, dan mereka tidak perlu berkomunikasi antara satu sama lain.
  • Paralelisme memori yang dikongsi. Proses (atau benang) perlu berkomunikasi, jadi mereka berkongsi ruang alamat global.
  • Mesej lulus. Proses perlu berkongsi mesej apabila diperlukan.
Dalam artikel ini, kami akan menggambarkan model pertama, yang juga paling mudah. ​​

multiprocessing python: paralelisme berasaskan proses dalam python

Satu cara untuk mencapai paralelisme dalam Python adalah dengan menggunakan modul multiprocessing. Modul multiprocessing membolehkan anda membuat pelbagai proses, masing -masing dengan penterjemah python sendiri. Atas sebab ini, multiprocessing Python menyelesaikan paralelisme berasaskan proses.

Anda mungkin pernah mendengar perpustakaan lain, seperti threading, yang juga dibina dengan Python, tetapi terdapat perbezaan penting di antara mereka. Modul multiprocessing mencipta proses baru, sementara threading mencipta benang baru.

Di bahagian seterusnya, kita akan melihat kelebihan menggunakan multiprocessing.

faedah menggunakan multiprocessing

Berikut adalah beberapa manfaat multiprocessing:

  • penggunaan CPU yang lebih baik ketika berurusan dengan tugas-tugas intensif CPU yang tinggi
  • lebih banyak kawalan ke atas kanak -kanak berbanding dengan benang
  • mudah untuk kod

Kelebihan pertama berkaitan dengan prestasi. Oleh kerana multiprocessing mencipta proses baru, anda boleh menggunakan lebih baik penggunaan kuasa pengiraan CPU anda dengan membahagikan tugas anda di antara teras lain. Kebanyakan pemproses adalah pemproses berbilang teras pada masa kini, dan jika anda mengoptimumkan kod anda, anda boleh menjimatkan masa dengan menyelesaikan pengiraan selari.

Kelebihan kedua melihat alternatif kepada multiprocessing, yang multithreading. Threads bukan proses walaupun, dan ini mempunyai akibatnya. Jika anda membuat benang, ia berbahaya untuk membunuhnya atau bahkan mengganggu seperti yang anda lakukan dengan proses biasa. Oleh kerana perbandingan antara multiprocessing dan multithreading tidak dalam skop artikel ini, saya menggalakkan anda untuk melakukan bacaan selanjutnya di atasnya.

Kelebihan ketiga multiprocessing adalah bahawa ia agak mudah dilaksanakan, memandangkan tugas yang anda cuba mengendalikan sesuai untuk pengaturcaraan selari.

Bermula dengan Python Multiprocessing

kami akhirnya bersedia untuk menulis beberapa kod python!

Kami akan bermula dengan contoh yang sangat asas dan kami akan menggunakannya untuk menggambarkan aspek teras Python multiprocessing. Dalam contoh ini, kita akan mempunyai dua proses:

  • Proses induk. Hanya ada satu proses induk, yang boleh mempunyai beberapa kanak -kanak.
  • proses kanak -kanak. Ini dibuang oleh ibu bapa. Setiap kanak -kanak juga boleh mempunyai anak -anak baru.

Kami akan menggunakan proses kanak -kanak untuk melaksanakan fungsi tertentu. Dengan cara ini, ibu bapa boleh meneruskan pelaksanaannya.

contoh multiprocessing python mudah

inilah kod yang akan kami gunakan untuk contoh ini:

<span>from multiprocessing import Process
</span>
<span>def bubble_sort(array):
</span>    check <span>= True
</span>    <span>while check == True:
</span>      check <span>= False
</span>      <span>for i in range(0, len(array)-1):
</span>        <span>if array[i] > array[i+1]:
</span>          check <span>= True
</span>          temp <span>= array[i]
</span>          array<span>[i] = array[i+1]
</span>          array<span>[i+1] = temp
</span>    <span>print("Array sorted: ", array)
</span>
<span>if __name__ == '__main__':
</span>    p <span>= Process(target=bubble_sort, args=([1,9,4,5,2,6,8,4],))
</span>    p<span>.start()
</span>    p<span>.join()
</span>

Dalam coretan ini, kami telah menentukan fungsi yang dipanggil bubble_sort (array). Fungsi ini adalah pelaksanaan algoritma penyortiran jenis gelembung yang benar -benar naif. Jika anda tidak tahu apa itu, jangan risau, kerana ia tidak penting. Perkara penting yang perlu diketahui ialah fungsi yang berfungsi.

Kelas Proses

Dari multiprocessing, kami mengimport proses kelas. Kelas ini mewakili aktiviti yang akan dijalankan dalam proses yang berasingan. Sesungguhnya, anda dapat melihat bahawa kami telah lulus beberapa hujah:

  • target = bubble_sort, yang bermaksud bahawa proses baru kami akan menjalankan fungsi bubble_sort
  • args = ([1,9,4,52,6,8,4],), yang merupakan array yang diluluskan sebagai argumen kepada fungsi sasaran

Sebaik sahaja kita telah membuat contoh ke kelas proses, kita hanya perlu memulakan proses. Ini dilakukan dengan menulis P.Start (). Pada ketika ini, proses dimulakan.

Sebelum kita keluar, kita perlu menunggu proses kanak -kanak untuk menyelesaikan perhitungannya. Kaedah gabungan () menunggu proses untuk ditamatkan.

Dalam contoh ini, kami telah membuat hanya satu proses kanak -kanak. Seperti yang anda rasa, kami boleh membuat lebih banyak proses kanak -kanak dengan membuat lebih banyak contoh dalam kelas proses.

Kelas kolam

Bagaimana jika kita perlu membuat pelbagai proses untuk mengendalikan lebih banyak tugas intensif CPU? Adakah kita sentiasa perlu memulakan dan menunggu secara eksplisit untuk penamatan? Penyelesaian di sini adalah menggunakan kelas kolam.

Kelas Kolam membolehkan anda membuat kumpulan proses pekerja, dan dalam contoh berikut, kita akan melihat bagaimana kita boleh menggunakannya. Ini adalah contoh baru kami:

<span>from multiprocessing import Process
</span>
<span>def bubble_sort(array):
</span>    check <span>= True
</span>    <span>while check == True:
</span>      check <span>= False
</span>      <span>for i in range(0, len(array)-1):
</span>        <span>if array[i] > array[i+1]:
</span>          check <span>= True
</span>          temp <span>= array[i]
</span>          array<span>[i] = array[i+1]
</span>          array<span>[i+1] = temp
</span>    <span>print("Array sorted: ", array)
</span>
<span>if __name__ == '__main__':
</span>    p <span>= Process(target=bubble_sort, args=([1,9,4,5,2,6,8,4],))
</span>    p<span>.start()
</span>    p<span>.join()
</span>

Dalam coretan kod ini, kami mempunyai fungsi kiub (x) yang hanya mengambil integer dan mengembalikan akar kuadratnya. Mudah, betul?

Kemudian, kami membuat contoh kelas kolam, tanpa menentukan sebarang atribut. Kelas Kolam Mewujudkan secara lalai satu proses setiap teras CPU. Seterusnya, kami menjalankan kaedah peta dengan beberapa hujah.

Kaedah peta menggunakan fungsi kiub untuk setiap elemen yang dapat kami berikan - yang, dalam kes ini, adalah senarai setiap nombor dari 10 hingga N.

kelebihan besar ini ialah pengiraan dalam senarai dilakukan secara selari!

memanfaatkan python multiprocessing python

Membuat pelbagai proses dan melakukan perhitungan selari tidak semestinya lebih cekap daripada pengkomputeran siri. Untuk tugas-tugas intensif CPU yang rendah, pengiraan siri lebih cepat daripada pengiraan selari. Atas sebab ini, penting untuk difahami apabila anda perlu menggunakan multiprocessing - yang bergantung kepada tugas yang anda lakukan.

Untuk meyakinkan anda tentang ini, mari kita lihat contoh mudah:

<span>from multiprocessing import Pool
</span><span>import time
</span><span>import math
</span>
N <span>= 5000000
</span>
<span>def cube(x):
</span>    <span>return math.sqrt(x)
</span>
<span>if __name__ == "__main__":
</span>    <span>with Pool() as pool:
</span>      result <span>= pool.map(cube, range(10,N))
</span>    <span>print("Program finished!")
</span>

Coretan ini didasarkan pada contoh sebelumnya. Kami menyelesaikan masalah yang sama, yang mengira akar kuadrat nombor N, tetapi dalam dua cara. Yang pertama melibatkan penggunaan multiprocessing Python, sementara yang kedua tidak. Kami menggunakan kaedah perf_counter () dari perpustakaan masa untuk mengukur prestasi masa.

pada komputer riba saya, saya mendapat hasil ini:

<span>from multiprocessing import Pool
</span><span>import time
</span><span>import math
</span>
N <span>= 5000000
</span>
<span>def cube(x):
</span>    <span>return math.sqrt(x)
</span>
<span>if __name__ == "__main__":
</span>    <span># first way, using multiprocessing
</span>    start_time <span>= time.perf_counter()
</span>    <span>with Pool() as pool:
</span>      result <span>= pool.map(cube, range(10,N))
</span>    finish_time <span>= time.perf_counter()
</span>    <span>print("Program finished in {} seconds - using multiprocessing".format(finish_time-start_time))
</span>    <span>print("---")
</span>    <span># second way, serial computation
</span>    start_time <span>= time.perf_counter()
</span>    result <span>= []
</span>    <span>for x in range(10,N):
</span>      result<span>.append(cube(x))
</span>    finish_time <span>= time.perf_counter()
</span>    <span>print("Program finished in {} seconds".format(finish_time-start_time))
</span>

Seperti yang anda lihat, terdapat lebih daripada satu perbezaan saat. Jadi dalam kes ini, multiprocessing lebih baik.

mari kita ubah sesuatu dalam kod, seperti nilai N. Mari turunkannya ke n = 10000 dan lihat apa yang berlaku.

inilah yang saya dapat sekarang:

<span>> python code.py
</span>Program finished <span>in 1.6385094 seconds - using multiprocessing
</span>---
Program finished <span>in 2.7373942999999996 seconds
</span>

apa yang berlaku? Nampaknya multiprocessing kini menjadi pilihan yang buruk. Kenapa?

overhead yang diperkenalkan dengan memisahkan perhitungan antara proses terlalu banyak berbanding dengan tugas yang diselesaikan. Anda dapat melihat berapa banyak perbezaan yang ada dari segi persembahan masa.

Kesimpulan

Dalam artikel ini, kami telah bercakap tentang pengoptimuman prestasi kod python dengan menggunakan multiprocessing python.

Pertama, kami memperkenalkan secara ringkas apa pengkomputeran selari dan model utama untuk menggunakannya. Kemudian, kami mula bercakap mengenai multiprocessing dan kelebihannya. Akhirnya, kita melihat bahawa parallelizing pengiraan tidak semestinya pilihan terbaik dan modul multiprocessing harus digunakan untuk selari tugas-tugas CPU yang terikat. Seperti biasa, ia adalah satu perkara yang mempertimbangkan masalah khusus yang anda hadapi dan menilai kebaikan dan keburukan penyelesaian yang berbeza.

Saya harap anda dapat belajar tentang python multiprocessing sebagai berguna seperti yang saya lakukan.

Soalan Lazim Mengenai Python Multiprocessing dan Pengaturcaraan Selari

Apakah kelebihan utama menggunakan multiprocessing dalam python?

Kelebihan utama menggunakan multiprocessing di Python adalah bahawa ia membolehkan pelaksanaan pelbagai proses secara serentak. Ini amat bermanfaat apabila bekerja dengan tugas-tugas intensif CPU, kerana ia membolehkan program menggunakan pelbagai teras CPU, dengan itu meningkatkan kelajuan dan kecekapan program dengan ketara. Tidak seperti threading, multiprocessing tidak mengalami kunci penterjemah global (GIL) di Python, yang bermaksud bahawa setiap proses boleh berjalan secara bebas tanpa terjejas oleh proses lain. Ini menjadikan multiprocessing alat yang berkuasa untuk pengaturcaraan selari dalam python.

Bagaimana modul multiprocessing dalam kerja python? dilaksanakan secara serentak. Setiap proses mempunyai penterjemah python sendiri dan ruang ingatan, yang bermaksud bahawa ia dapat berjalan secara bebas dari proses lain. Modul multiprocessing menyediakan beberapa kelas dan fungsi yang menjadikannya mudah untuk membuat dan mengurus proses ini. Sebagai contoh, kelas proses digunakan untuk membuat proses baru, manakala kelas kolam digunakan untuk menguruskan kumpulan proses pekerja.

Apakah perbezaan antara multiprocessing dan multithreading dalam python? > Perbezaan utama antara multiprocessing dan multithreading dalam python terletak pada bagaimana mereka mengendalikan tugas. Walaupun multiprocessing mencipta proses baru untuk setiap tugas, multithreading mencipta benang baru dalam proses yang sama. Ini bermakna bahawa walaupun multiprocessing boleh memanfaatkan sepenuhnya teras CPU, multithreading dibatasi oleh Lock Interpreter Global (GIL) di Python, yang membolehkan hanya satu benang untuk dilaksanakan pada satu masa. Walau bagaimanapun, multithreading masih boleh berguna untuk tugas-tugas I/O yang terikat, di mana program menghabiskan sebahagian besar waktunya menunggu operasi input/output selesai.

Bagaimanakah saya dapat berkongsi data antara proses dalam Python? Ini termasuk kelas nilai dan array, yang membolehkan penciptaan pembolehubah dan tatasusunan bersama. Walau bagaimanapun, penting untuk diperhatikan bahawa kerana setiap proses mempunyai ruang ingatan sendiri, perubahan yang dibuat kepada pembolehubah atau tatasusunan yang dikongsi dalam satu proses tidak akan dapat dilihat dalam proses lain melainkan jika mereka disegerakkan secara jelas menggunakan kunci atau primitif penyegerakan lain yang disediakan oleh modul multiprocessing.

Apakah perangkap yang berpotensi menggunakan multiprocessing dalam python?

Semasa multiprocessing Di Python dapat meningkatkan kelajuan dan kecekapan program anda, ia juga datang dengan cabarannya sendiri. Salah satu perangkap utama ialah peningkatan kerumitan kod anda. Menguruskan pelbagai proses boleh menjadi lebih kompleks daripada menguruskan program tunggal, terutamanya apabila mengendalikan data bersama dan proses penyegerakan. Di samping itu, mewujudkan proses baru adalah lebih intensif sumber daripada mencipta benang baru, yang boleh membawa kepada peningkatan penggunaan memori. Akhirnya, tidak semua tugas yang sesuai untuk penyesuaian, dan dalam beberapa kes, overhead mewujudkan dan menguruskan pelbagai proses boleh melebihi keuntungan prestasi yang berpotensi. 🎜> mengendalikan pengecualian dalam multiprocessing di python boleh sedikit rumit, kerana pengecualian yang berlaku dalam proses kanak -kanak tidak secara automatik menyebarkan kepada proses induk. Walau bagaimanapun, modul multiprocessing menyediakan beberapa cara untuk mengendalikan pengecualian. Salah satu cara ialah menggunakan kaedah IS_alive () kelas proses untuk memeriksa sama ada proses masih berjalan. Sekiranya kaedah itu kembali palsu, ini bermakna proses telah ditamatkan, yang mungkin disebabkan oleh pengecualian. Cara lain ialah menggunakan atribut ExitCode Kelas Proses, yang dapat memberikan lebih banyak maklumat tentang mengapa proses ditamatkan. Perpustakaan Python lain. Walau bagaimanapun, penting untuk diperhatikan bahawa tidak semua perpustakaan direka untuk digunakan dalam persekitaran multiprocessing. Sesetengah perpustakaan mungkin tidak selamat benang atau mungkin tidak menyokong pelaksanaan serentak. Oleh itu, ia adalah idea yang baik untuk menyemak dokumentasi perpustakaan yang anda gunakan untuk melihat sama ada ia menyokong multiprocessing.

Bagaimanakah saya boleh menyahpepijat program multiprocessing di Python? Walau bagaimanapun, terdapat beberapa teknik yang boleh anda gunakan untuk debug program anda. Salah satu cara ialah menggunakan pernyataan cetak atau pembalakan untuk mengesan pelaksanaan program anda. Cara lain ialah menggunakan fungsi set_trace modul PDB untuk menetapkan titik putus dalam kod anda. Anda juga boleh menggunakan alat penyahpepijatan khusus yang menyokong multiprocessing, seperti fungsi log_to_stderr () modul multiprocessing, yang membolehkan anda log aktiviti proses anda ke ralat standard. Sistem Operasi?

Ya, anda boleh menggunakan multiprocessing dalam python pada sistem operasi yang berbeza. Modul multiprocessing adalah sebahagian daripada perpustakaan Python standard, yang bermaksud ia tersedia pada semua platform yang menyokong Python. Walau bagaimanapun, tingkah laku modul multiprocessing mungkin berbeza -beza sedikit antara sistem operasi yang berbeza kerana perbezaan bagaimana mereka mengendalikan proses. Oleh itu, adalah idea yang baik untuk menguji program anda pada sistem pengendalian sasaran untuk memastikan ia berfungsi seperti yang diharapkan. Menggunakan multiprocessing dalam python termasuk:

- elakkan berkongsi data antara proses apabila mungkin, kerana ini boleh membawa kepada isu penyegerakan kompleks.

- Gunakan kelas kolam untuk menguruskan proses pekerja anda, kerana ia menyediakan antara muka peringkat tinggi yang memudahkan proses membuat dan mengurus proses. program berterusan.

- Mengendalikan pengecualian dengan betul untuk mengelakkan program anda daripada terhempas tanpa diduga.

- Uji program anda dengan teliti untuk memastikan ia berfungsi dengan betul dalam multiprocessing Persekitaran.

Atas ialah kandungan terperinci Panduan untuk Python Multiprocessing dan Pengaturcaraan Selari. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail TeksCara Menggunakan Python untuk Mencari Pengagihan Zipf Fail TeksMar 05, 2025 am 09:58 AM

Tutorial ini menunjukkan cara menggunakan Python untuk memproses konsep statistik undang -undang ZIPF dan menunjukkan kecekapan membaca dan menyusun fail teks besar Python semasa memproses undang -undang. Anda mungkin tertanya -tanya apa maksud pengedaran ZIPF istilah. Untuk memahami istilah ini, kita perlu menentukan undang -undang Zipf. Jangan risau, saya akan cuba memudahkan arahan. Undang -undang Zipf Undang -undang Zipf hanya bermaksud: Dalam korpus bahasa semulajadi yang besar, kata -kata yang paling kerap berlaku muncul kira -kira dua kali lebih kerap sebagai kata -kata kerap kedua, tiga kali sebagai kata -kata kerap ketiga, empat kali sebagai kata -kata kerap keempat, dan sebagainya. Mari kita lihat contoh. Jika anda melihat corpus coklat dalam bahasa Inggeris Amerika, anda akan melihat bahawa perkataan yang paling kerap adalah "th

Bagaimana saya menggunakan sup yang indah untuk menghuraikan html?Bagaimana saya menggunakan sup yang indah untuk menghuraikan html?Mar 10, 2025 pm 06:54 PM

Artikel ini menerangkan cara menggunakan sup yang indah, perpustakaan python, untuk menghuraikan html. Ia memperincikan kaedah biasa seperti mencari (), find_all (), pilih (), dan get_text () untuk pengekstrakan data, pengendalian struktur dan kesilapan HTML yang pelbagai, dan alternatif (sel

Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch?Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch?Mar 10, 2025 pm 06:52 PM

Artikel ini membandingkan tensorflow dan pytorch untuk pembelajaran mendalam. Ia memperincikan langkah -langkah yang terlibat: penyediaan data, bangunan model, latihan, penilaian, dan penempatan. Perbezaan utama antara rangka kerja, terutamanya mengenai grap pengiraan

Serialization dan deserialisasi objek python: Bahagian 1Serialization dan deserialisasi objek python: Bahagian 1Mar 08, 2025 am 09:39 AM

Serialization dan deserialization objek Python adalah aspek utama dari mana-mana program bukan remeh. Jika anda menyimpan sesuatu ke fail python, anda melakukan siri objek dan deserialization jika anda membaca fail konfigurasi, atau jika anda menjawab permintaan HTTP. Dalam erti kata, siri dan deserialization adalah perkara yang paling membosankan di dunia. Siapa yang peduli dengan semua format dan protokol ini? Anda mahu berterusan atau mengalirkan beberapa objek python dan mengambilnya sepenuhnya pada masa yang akan datang. Ini adalah cara yang baik untuk melihat dunia pada tahap konseptual. Walau bagaimanapun, pada tahap praktikal, skim siri, format atau protokol yang anda pilih boleh menentukan kelajuan, keselamatan, kebebasan status penyelenggaraan, dan aspek lain dari program

Modul Matematik dalam Python: StatistikModul Matematik dalam Python: StatistikMar 09, 2025 am 11:40 AM

Modul Statistik Python menyediakan keupayaan analisis statistik data yang kuat untuk membantu kami dengan cepat memahami ciri -ciri keseluruhan data, seperti biostatistik dan analisis perniagaan. Daripada melihat titik data satu demi satu, cuma melihat statistik seperti min atau varians untuk menemui trend dan ciri dalam data asal yang mungkin diabaikan, dan membandingkan dataset besar dengan lebih mudah dan berkesan. Tutorial ini akan menjelaskan cara mengira min dan mengukur tahap penyebaran dataset. Kecuali dinyatakan sebaliknya, semua fungsi dalam modul ini menyokong pengiraan fungsi min () dan bukan hanya menjumlahkan purata. Nombor titik terapung juga boleh digunakan. Import secara rawak Statistik import dari fracti

Pengendalian ralat profesional dengan pythonPengendalian ralat profesional dengan pythonMar 04, 2025 am 10:58 AM

Dalam tutorial ini, anda akan belajar bagaimana menangani keadaan ralat di Python dari sudut pandang keseluruhan sistem. Pengendalian ralat adalah aspek kritikal reka bentuk, dan ia melintasi dari tahap terendah (kadang -kadang perkakasan) sepanjang jalan ke pengguna akhir. Jika y

Apakah beberapa perpustakaan Python yang popular dan kegunaan mereka?Apakah beberapa perpustakaan Python yang popular dan kegunaan mereka?Mar 21, 2025 pm 06:46 PM

Artikel ini membincangkan perpustakaan Python yang popular seperti Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask, dan Permintaan, memperincikan kegunaan mereka dalam pengkomputeran saintifik, analisis data, visualisasi, pembelajaran mesin, pembangunan web, dan h

Mengikis halaman web dalam python dengan sup yang indah: carian dan pengubahsuaian domMengikis halaman web dalam python dengan sup yang indah: carian dan pengubahsuaian domMar 08, 2025 am 10:36 AM

Tutorial ini dibina pada pengenalan sebelumnya kepada sup yang indah, memberi tumpuan kepada manipulasi DOM di luar navigasi pokok mudah. Kami akan meneroka kaedah dan teknik carian yang cekap untuk mengubahsuai struktur HTML. Satu kaedah carian dom biasa ialah Ex

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),