Deepxde
DeepXDE는 과학 기계 학습 및 물리 정보 학습을위한 도서관입니다. DeepXDE에는 다음과 같은 알고리즘이 포함됩니다.
- 물리 정보 신경 네트워크 (PINN)
- 다른 문제 해결
- 정방향/역/부분 미분 방정식 (ODES/PDES) 해결 [Siam Rev.]
- 포워드/횡단 통합-차분 방정식 (IDES) 해결 [Siam Rev.]
- FPINN : 포워드/역 부분 PDE (FPDES) 해결 [Siam J. Sci. 컴퓨터.]
- NN- 임의의 다항식 혼돈 (NN-APC) : 전방/역 확률 론적 PDE (SPDES) 해결 [J. 컴퓨터. 물리.]
- 하드 제약 조건을 가진 Pinn (HPINN) : 역 디자인/토폴로지 최적화 해결 [Siam J. Sci. 컴퓨터.]
- Pinn 정확도 향상
- 잔류 기반 적응성 샘플링 [Siam Rev., Comput. 방법 응용 프로그램. 기계. Eng.]
- 그라디언트 강화 PINN (GPINN) [Comput. 방법 응용 프로그램. 기계. Eng.]
- 다중 규모 푸리에 기능이있는 Pinn [Comput. 방법 응용 프로그램. 기계. Eng.]
- 슬라이드, 비디오, 중국어의 비디오
- (물리 정보) 딥 오퍼레이터 네트워크 (DeepOnet)
- DeepOnet : 학습 운영자 [Nat. 마하. 지성.]
- DeepOnet Extensions, EG, Pod-Deeponet [Comput. 방법 응용 프로그램. 기계. Eng.]
- 미오넷 : 다중 입력 연산자 학습 [Siam J. Sci. 컴퓨터.]
- 푸리에-디프 넷 [Comput. 방법 응용 프로그램. 기계. Eng.], Fourier-Mionet [Arxiv]
- 물리 정보 DeepOnet [Sci. adv.]
- 다중 공급 성 DeepOnet [Phys. 리서치]
- Deepm & Mnet : 다중 물리 및 멀티 스케일 문제 해결 [J. 컴퓨터. Phys., J. Comput. 물리.]
- 신뢰할 수있는 외삽 [Comput. 방법 응용 프로그램. 기계. Eng.]
- 다중 분류 신경 네트워크 (MFNN)
- 다차성 데이터로부터 학습 [J. 컴퓨터. Phys., PNA]
DeepXDE는 5 개의 텐서 라이브러리를 백엔드로 지원합니다 : Tensorflow 1.x ( tensorflow.compat.v1 in tensorflow 2.x), Tensorflow 2.x, Pytorch, Jax 및 Paddlepaddle. 하나를 선택하는 방법은 다른 백엔드로 작업하는 방법을 참조하십시오.
문서 : ReadTheDocs




특징
DeepXDE는 위에 표시된대로 많은 알고리즘을 구현했으며 많은 기능을 지원합니다.
- 수학적 공식과 매우 유사한 사용자 코드가 컴팩트 할 수 있습니다.
- 폭정 메쉬 생성이없는 복잡한 도메인 형상 . 원시 형상은 간격, 삼각형, 사각형, 다각형, 디스크, 타원, 별 모양, 구조, 구체, 하이퍼 큐브 및 하이퍼 스피어입니다. 기타 기하학은 연합, 차이 및 교차로의 세 가지 부울 작업을 사용하여 건설적인 고체 기하학 (CSG)으로 구성 될 수 있습니다. DeepXDE는 또한 포인트 클라우드로 표시되는 지오메트리를 지원합니다.
- 5 유형의 경계 조건 (BCS) : Dirichlet, Neumann, Robin, Terogonic 및 General BC는 임의의 영역 또는 지점 세트에서 정의 할 수 있습니다. 및 단단한 제약 에 대한 대략적인 거리 함수.
- 3 자동 차별화 (AD) 파생 상품 계산 방법 : 역 모드 (즉, 역전화), 전방 모드 및 제로 좌표 변속 (ZCS).
- 다른 신경망 : 완전히 연결된 신경망 (FNN), 스택 된 FNN, 잔류 신경망, (시공간) 다중 규모 푸리에 기능 네트워크 등
- 많은 샘플링 방법 : 균일 한, 유사, 라틴 하이퍼 큐브 샘플링, Halton 시퀀스, Hammersley 시퀀스 및 Sobol 서열. 훈련 지점은 훈련 중에 동일하게 유지하거나 특정 반복마다 (적응 적으로) 리 샘플링 될 수 있습니다.
- 4 기능 공간 : Power Series, Chebyshev Polynomial, Gaussian Random Field (1D/2D).
- 다중 GPU에 대한 데이터 평면 교육 .
- 다른 최적화기 : Adam, L-BFG 등
- 훈련 중에 모델을 편리하게 저장 하고 훈련 된 모델 을로드하십시오 .
- 훈련 중 내부 상태를 모니터링하고 모델의 통계를 모니터링하는 콜백 : 조기 정지 등
- 드롭 아웃을 사용한 불확실성 정량화 .
- float16 , float32 및 float64 .
- 다른 많은 유용한 기능 : 다른 (가중치) 손실, 학습 속도 일정, 메트릭 등
DeepXDE의 모든 구성 요소는 느슨하게 결합되므로 DeepXDE는 잘 구조화되고 구성 가능합니다. 새로운 요구를 충족시키기 위해 DeepXDE를 사용자 정의하는 것은 쉽습니다.
설치
DeepXDE는 다음의 백엔드 별 종속성 중 하나를 설치해야합니다.
- Tensorflow 1.x : Tensorflow> = 2.7.0
- Tensorflow 2.x : Tensorflow> = 2.3.0, 텐서 플로 확률> = 0.11.0
- Pytorch : Pytorch> = 1.9.0
- Jax : Jax, Flax, Optax
- PaddlePaddle : PaddlePaddle> = 2.6.0
그런 다음 DeepXDE 자체를 설치할 수 있습니다.
$ conda install -c conda-forge deepxde
- 개발자의 경우 폴더를 로컬 컴퓨터로 복제하여 프로젝트 스크립트와 함께 넣어야합니다.
$ git clone https://github.com/lululxvi/deepxde.git
더 많이 탐색하십시오
- 설치 및 설정
- 기능 근사의 데모
- 전진 문제의 데모
- 역 문제의 데모
- 운영자 학습의 데모
- FAQ
- 연구 논문은 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 사용자 및 개발자의 주요 잠재 고객을 호스팅합니다. 여유 초대가 필요한 경우 이메일을 보내주십시오.
팀
DeepXDE는 2018 년 여름부터 2020 년까지 Brown University의 George Karniadakis 교수의 감독하에 Lu Lu에 의해 개발되었습니다. Deepxde는 원래 Sciconet (Scientific Computing Neural Networks)라는 이름으로 Brown University의 전복에서 자체 주최했습니다. 2019 년 2 월 7 일, Sciconet은 Subversion에서 Github로 옮겨져 Deepxde로 이름이 바뀌 었습니다.
DeepXDE는 현재 Yale University의 Lu Lu에 의해 다양한 형태와 수단으로 많은 재능있는 개인으로부터 주요 공헌을 유지하고 있습니다. 폴리 에스카 필 인추 페 (Paul Escapil-Inchauspé), Zongren Zou, Jialin Li, Saransh Chopra, Sensen He, Vladimir Dudenkov, Anran Jiao, Zhongyi Jiang, Shunyuan Mao.
특허
LGPL-2.1 라이센스