deepxde
DeepXde是科學機器學習和物理知識學習的圖書館。 DEEPXDE包括以下算法:
- 物理信息神經網絡(PINN)
- 解決不同的問題
- 求解前向/逆普通/部分差分方程(ODES/PDES)[SIAM REV.]
- 求解向前/反向差異方程(IDES)[SIAM REV.]
- FPINN:求解前向/反向分數PDE(FPDES)[Siam J. Sci。計算。 ]
- NN-肢體多項式混亂(NN-APC):向前/逆隨機PDES(SPDES)[J.計算。物理。 ]
- 具有硬約束(HPINN)的PINN:解決逆設計/拓撲優化[Siam J. Sci。計算。 ]
- 提高Pinn的精度
- 基於殘留的自適應抽樣[Siam Rev.,Comput。方法應用。機械。 Eng。 ]
- 梯度增強的PINN(GPINN)[COMPER。方法應用。機械。 Eng。 ]
- 具有多尺度傅立葉功能的PINN [COMPER。方法應用。機械。 Eng。 ]
- 幻燈片,視頻,視頻中文
- (物理信息)深度操作員網絡(DeepOnet)
- DeWonet:學習操作員[Nat。馬赫。 Intell。 ]
- deponet擴展,例如,pod-deeponet [Comput。方法應用。機械。 Eng。 ]
- Mionet:學習多輸入操作員[Siam J. Sci。計算。 ]
- 傅立葉深色[Comput。方法應用。機械。 Eng。
- 物理知識的deponet [Sci。顧問]
- 多限制deponet [Phys。 Rev. Research]
- DEEPM&MNET:解決多物理和多尺度問題[J.計算。 Phys。 ,J。 Comput。物理。 ]
- 可靠的外推[計算。方法應用。機械。 Eng。 ]
- 多重神經網絡(MFNN)
- 從多重級數據中學習[J.計算。 Phys。 ,PNAS]
DEEPXDE支持五個張量庫作為後端:TensorFlow 1.x( tensorflow.compat.v1 in Tensorflow 2.x),Tensorflow 2.x,Pytorch,jax,jax和paddlepaddle。有關如何選擇一個,請參閱使用不同的後端。
文檔:readthedocs




特徵
DeepXDE實施了許多算法,如上所述,支持許多功能:
- 使用戶代碼緊湊,非常類似於數學公式。
- 複雜的域幾何形狀,無暴政網。原始幾何形狀是間隔,三角形,矩形,多邊形,磁盤,橢圓形,星形,Cuboid,Sphere,Sphere,Hyper Cuber和Hypersphere。其他幾何形狀可以使用三個布爾操作:聯合,差異和相交。 DEEPXDE還支持以點雲為代表的幾何形狀。
- 5種邊界條件(BCS):Dirichlet,Neumann,Robin,週期性和一般BC,可以在任意域或點集上定義;和硬約束的近似距離功能。
- 3自動分化方法(AD)計算衍生物的方法:反向模式(IE,反向傳播),正向模式和零坐標偏移(ZCS)。
- 不同的神經網絡:完全連接的神經網絡(FNN),堆疊的FNN,殘留神經網絡,(時空)多尺度傅立葉特徵網絡等。
- 許多採樣方法:均勻,偽蘭頓,拉丁超立方體採樣,霍爾頓序列,Hammersley序列和SOBOL序列。在訓練期間,訓練點可以保持不變,也可以(自適應地)重新採樣。
- 4個功能空間:功率系列,Chebyshev多項式,高斯隨機場(1d/2d)。
- 多個GPU的數據並行培訓。
- 不同的優化器:Adam,L-BFGS等。
- 在訓練過程中便利地保存模型,並加載訓練有素的模型。
- 在培訓期間監視模型的內部狀態和統計數據的回調:早期停止等。
- 使用輟學的不確定性定量。
- 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,亞麻,Optax
- PaddlePaddle:PaddlePaddle> = 2.6.0
然後,您可以安裝DEEPXDE本身。
$ conda install -c conda-forge deepxde
- 對於開發人員,您應該將文件夾克隆到本地計算機上,並將其與項目腳本一起使用。
$ git clone https://github.com/lululxvi/deepxde.git
探索更多
- 安裝和設置
- 功能近似的演示
- 前進問題的演示
- 反問題的演示
- 操作員學習的演示
- 常問問題
- 研究論文使用了Deepxde
- API
引用deepxde
如果您使用DeepXD進行學術研究,則鼓勵您引用以下論文:
@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從2018年夏天到2020年在布朗大學的喬治·卡尼亞達基斯教授的監督下開發的。 Deepxde最初以Sciconet的名稱(科學計算神經網絡)在Brown University的Subversion中自我主持。 2019年2月7日,Sciconet從顛覆到Github,重命名為DeepXde。
目前,耶魯大學的盧盧(Lu Lu)維持DeepXde,其中有許多形式和手段的才華橫溢的人提供了重大貢獻。一個非避免但不斷增長的清單需要提及:Paul Escapil-Inchauspé,Zongren Zou,Jialin Li,Saransh Chopra,Sensen HE,Vladimir Dudenkov,Anran Jiao,Zhongyi Jiang,Shunyuan Mao。
執照
LGPL-2.1許可證