deepxde
Deepxde เป็นห้องสมุดสำหรับการเรียนรู้ของเครื่องวิทยาศาสตร์และการเรียนรู้ทางฟิสิกส์ Deepxde มีอัลกอริทึมต่อไปนี้:
- เครือข่ายประสาทที่ได้รับข้อมูลฟิสิกส์ (PINN)
- การแก้ปัญหาที่แตกต่างกัน
- การแก้ปัญหาสมการเชิงอนุพันธ์สามัญ/ผกผัน (ODES/PDES) [SIAM Rev. ]
- การแก้สมการการส่งต่อ/ผกผันอินทิกโร (IDES) [SIAM Rev. ]
- FPINN: การแก้ปัญหา PDES แบบเศษส่วนไปข้างหน้า/ผกผัน (FPDES) [SIAM J. SCI คอมพิวเตอร์.]
- NN-arbitrary polynomial Chaos (NN-APC): การแก้ไปข้างหน้า/ผกผัน PDES สุ่ม (SPDES) [J. คอมพิวเตอร์. Phys.]
- PINN ด้วยข้อ จำกัด อย่างหนัก (HPINN): การแก้ปัญหาการออกแบบการออกแบบผกผัน/การเพิ่มประสิทธิภาพโทโพโลยี [Siam J. Sci คอมพิวเตอร์.]
- การปรับปรุงความแม่นยำของ PINN
- การสุ่มตัวอย่างแบบปรับตัวที่เหลืออยู่ [SIAM Rev. , Comput วิธีการ เมค อังกฤษ]
- การไล่ระดับสีเพิ่ม PINN (GPINN) [คอมพิวเตอร์ วิธีการ เมค อังกฤษ]
- PINN พร้อมคุณสมบัติฟูริเยร์หลายระดับ [Comput วิธีการ เมค อังกฤษ]
- สไลด์วิดีโอวิดีโอเป็นภาษาจีน
- (ข้อมูลฟิสิกส์) Deep Operator Network (DeepOnet)
- DeepOnet: ผู้ประกอบการเรียนรู้ [Nat. มัค สติปัญญา]
- ส่วนขยาย DeepOnet เช่น Pod-Deeponet [Comput วิธีการ เมค อังกฤษ]
- MIONET: การเรียนรู้ผู้ประกอบการหลายอินพุต [Siam J. Sci คอมพิวเตอร์.]
- Fourier-Deeponet [Comput วิธีการ เมค Eng.], Fourier-Mionet [arxiv]
- Deeponet ที่ได้รับข้อมูลฟิสิกส์ [Sci. Adv.]
- Multifidelity Deeponet [Phys. Rev. Research]
- DeepM & MNET: การแก้ปัญหาหลายมิติและปัญหาหลายระดับ [J. คอมพิวเตอร์. Phys., J. Comput Phys.]
- การคาดการณ์ที่เชื่อถือได้ [คอมพิวเตอร์ วิธีการ เมค อังกฤษ]
- Multifidelity Neural Network (MFNN)
- การเรียนรู้จากข้อมูล multifidelity [J. คอมพิวเตอร์. Phys., pnas]
Deepxde รองรับห้าห้องสมุดเทนเซอร์เป็นแบ็กเอนด์: TensorFlow 1.x ( tensorflow.compat.v1 ใน TensorFlow 2.x), Tensorflow 2.x, Pytorch, Jax และ Paddlepaddle สำหรับวิธีการเลือกให้ดูการทำงานกับแบ็กเอนด์ที่แตกต่างกัน
เอกสาร : readthedocs




คุณสมบัติ
DeepXDE ได้ใช้อัลกอริทึมมากมายดังที่แสดงด้านบนและรองรับคุณสมบัติมากมาย:
- ช่วยให้รหัสผู้ใช้มีขนาดกะทัดรัดคล้ายกับสูตรทางคณิตศาสตร์อย่างใกล้ชิด
- รูปทรงเรขาคณิตโดเมนที่ซับซ้อน โดยไม่มีการสร้างตาข่ายทรราช รูปทรงเรขาคณิตดั้งเดิมคือช่วงเวลา, สามเหลี่ยม, สี่เหลี่ยมผืนผ้า, รูปหลายเหลี่ยม, ดิสก์, วงรี, รูปดาว, ทรงลูกบาศก์, ทรงกลม, hypercube และ hypersphere รูปทรงเรขาคณิตอื่น ๆ สามารถสร้างเป็นรูปทรงเรขาคณิตที่สร้างสรรค์ (CSG) โดยใช้การดำเนินการบูลีนสามแบบ: สหภาพความแตกต่างและการแยก Deepxde ยังรองรับเรขาคณิตที่แสดงโดยคลาวด์จุด
- 5 ประเภทของ เงื่อนไขขอบเขต (BCS): Dirichlet, Neumann, Robin, เป็นระยะและ BC ทั่วไปซึ่งสามารถกำหนดไว้ในโดเมนโดยพลการหรือในชุดจุด; และฟังก์ชั่นระยะทางโดยประมาณสำหรับ ข้อ จำกัด ที่ยาก
- 3 วิธี การสร้างความแตกต่างอัตโนมัติ (AD) ในการคำนวณอนุพันธ์: โหมดย้อนกลับ (เช่น, backpropagation), โหมดไปข้างหน้าและการเปลี่ยนแปลงพิกัดเป็นศูนย์ (ZCS)
- เครือข่ายประสาท ที่แตกต่างกัน: เครือข่ายประสาทที่เชื่อมต่ออย่างสมบูรณ์ (FNN), ซ้อน FNN, เครือข่ายประสาทส่วนที่เหลือ, (spatio-temporal) เครือข่ายฟีเจอร์ฟูริเยร์หลายระดับ ฯลฯ
- วิธีการสุ่มตัวอย่าง หลายวิธี: เครื่องแบบ, pseudorandom, การสุ่มตัวอย่างภาษาละตินไฮเปอร์คิวบ์, ลำดับ Halton, ลำดับแฮมเมอร์สลีย์และลำดับ SOBOL คะแนนการฝึกอบรมสามารถรักษาได้เหมือนกันในระหว่างการฝึกอบรมหรือถูกสุ่มตัวอย่าง (ปรับตัว) ทุกการทำซ้ำทุกครั้ง
- 4 ช่องว่างฟังก์ชั่น : ชุดพลังงาน, Polynomial Chebyshev, สนามสุ่มแบบเกาส์เซียน (1D/2D)
- การฝึกอบรมแบบขนานข้อมูล เกี่ยวกับ GPU หลายตัว
- Optimizers ที่แตกต่างกัน: Adam, L-BFG ฯลฯ
- ประหยัด แบบจำลองในระหว่างการฝึกอบรมและ โหลด โมเดลที่ผ่านการฝึกอบรมอย่างสะดวก
- การโทรกลับ เพื่อตรวจสอบสถานะภายในและสถิติของแบบจำลองในระหว่างการฝึกอบรม: การหยุดเร็ว ฯลฯ
- ปริมาณที่ไม่แน่นอน โดยใช้การออกกลางคัน
- Float16 , Float32 และ Float64
- คุณสมบัติที่มีประโยชน์อื่น ๆ อีกมากมาย: การสูญเสีย (ถ่วงน้ำหนัก), ตารางอัตราการเรียนรู้, ตัวชี้วัด ฯลฯ
ส่วนประกอบทั้งหมดของ DeepXDE นั้นมีความสัมพันธ์กันอย่างหลวมและทำให้ DeepXDE มีโครงสร้างที่ดีและสามารถกำหนดค่าได้สูง มันง่ายที่จะปรับแต่ง DeepXde เพื่อตอบสนองความต้องการใหม่
การติดตั้ง
DeepXDE ต้องการหนึ่งในการพึ่งพาแบ็กเอนด์ต่อไปนี้ที่จะติดตั้ง:
- tensorflow 1.x: tensorflow> = 2.7.0
- tensorflow 2.x: tensorflow> = 2.3.0, ความน่าจะเป็น tensorflow> = 0.11.0
- Pytorch: pytorch> = 1.9.0
- Jax: Jax, Flax, Optax
- Paddlepaddle: PaddlePaddle> = 2.6.0
จากนั้นคุณสามารถติดตั้ง Deepxde เองได้
- ติดตั้งเวอร์ชันเสถียรด้วย
pip :
- ติดตั้งเวอร์ชันที่เสถียรด้วย
conda :
$ conda install -c conda-forge deepxde
- สำหรับนักพัฒนาคุณควรโคลนโฟลเดอร์ไปยังเครื่องในพื้นที่ของคุณและวางไว้พร้อมกับสคริปต์โครงการของคุณ
$ git clone https://github.com/lululxvi/deepxde.git
สำรวจเพิ่มเติม
- ติดตั้งและตั้งค่า
- การสาธิตการประมาณฟังก์ชั่น
- การสาธิตปัญหาการส่งต่อ
- การสาธิตปัญหาผกผัน
- การสาธิตการเรียนรู้ของผู้ประกอบการ
- คำถามที่พบบ่อย
- งานวิจัยใช้ DeepXde
- API
อ้างอิง Deepxde
หากคุณใช้ DeepXDE สำหรับการวิจัยเชิงวิชาการคุณควรอ้างถึงบทความต่อไปนี้:
@article{lu2021deepxde,
author = {Lu, Lu and Meng, Xuhui and Mao, Zhiping and Karniadakis, George Em},
title = {{DeepXDE}: A deep learning library for solving differential equations},
journal = {SIAM Review},
volume = {63},
number = {1},
pages = {208-228},
year = {2021},
doi = {10.1137/19M1274067}
}
มีส่วนร่วมใน deepxde
ก่อนอื่นขอบคุณที่สละเวลามีส่วนร่วม!
- การรายงานข้อบกพร่อง ในการรายงานข้อผิดพลาดเพียงเปิดปัญหาในปัญหา GitHub
- แนะนำการปรับปรุง ในการส่งคำแนะนำการปรับปรุงสำหรับ DeepXDE รวมถึงคุณสมบัติใหม่ที่สมบูรณ์และการปรับปรุงเล็กน้อยสำหรับฟังก์ชั่นที่มีอยู่แจ้งให้เราทราบโดยการเปิดปัญหาในปัญหา GitHub
- ดึงคำขอ หากคุณทำการปรับปรุง DeepXde แก้ไขข้อผิดพลาดหรือมีตัวอย่างใหม่อย่าลังเลที่จะส่งคำตอบแบบดึงให้เรา
- ถามคำถาม เพื่อขอความช่วยเหลือเกี่ยวกับวิธีการใช้ DeepXDE หรือฟังก์ชันการทำงานคุณสามารถเปิดการอภิปรายในการอภิปราย GitHub
- ตอบคำถาม หากคุณรู้คำตอบสำหรับคำถามใด ๆ ในการสนทนาคุณจะได้รับการต้อนรับให้ตอบ
หย่อน. Deepxde Slack เป็นเจ้าภาพผู้ชมหลักของผู้ใช้และนักพัฒนาที่มีประสบการณ์ในระดับปานกลางถึง DeepXDE สำหรับการแชททั่วไปการสนทนาออนไลน์การทำงานร่วมกัน ฯลฯ หากคุณต้องการคำเชิญ Slack โปรดส่งอีเมลถึงฉัน
ทีม
Deepxde ได้รับการพัฒนาโดย Lu Lu ภายใต้การกำกับดูแลของศาสตราจารย์ George Karniadakis ที่ Brown University ตั้งแต่ฤดูร้อนปี 2561 ถึง 2563 Deepxde ได้รับการโฮสต์ด้วยตนเองในการโค่นล้มที่ Brown University ภายใต้ชื่อ Sciconet เมื่อวันที่ 7 กุมภาพันธ์ 2019 Sciconet ถูกย้ายจากการโค่นล้มไปยัง GitHub เปลี่ยนชื่อเป็น Deepxde
ปัจจุบัน Deepxde ได้รับการดูแลโดย Lu Lu ที่มหาวิทยาลัยเยลโดยมีส่วนร่วมที่สำคัญมาจากบุคคลที่มีความสามารถหลายคนในรูปแบบและวิธีการต่าง ๆ รายการที่ไม่สมบูรณ์ แต่กำลังเติบโตจำเป็นต้องพูดถึง: Paul Escapil-Inchauspé, Zongren Zou, Jialin Li, Saransh Chopra, Sensen HE, Vladimir Dudenkov, Anran Jiao, Zhongyi Jiang, Shunyuan Mao
ใบอนุญาต
ใบอนุญาต LGPL-2.1