1.deepoent官网如下:
https://github.com/lululxvi/deeponet
需要下载依赖
1.python3
2.DeepXDE(这里安装DeepXDE<=0.11.2,这个最方便)
Optional: For CNN, install Matlab and TensorFlow 1; for Seq2Seq, install PyTorch(这个可先不安装,有的案例需要额外安装这些)
2.安装deepxde=0.11.2
deepxde的官网如下
https://github.com/lululxvi/deepxde/tree/v1.10.0
依赖:
- TensorFlow 2.x:TensorFlow >=2.2.0,TensorFlow Probability>=0.10.0
- PyTorch:PyTorch >=1.9.0
上面这俩任选一个(建议选tensorflow,因为deepxde依赖于tensorflow)
这里给出第二个的方法代码,第一个pytorch的见torch的官网(如果没安装过torch,就至少需要花几个小时才能安装成功,注意时间)
1.安装deepxde的依赖(必须先安装tensorflow再安装deepxde,不然报错找不到Dense)
pip install tensorflow==2.15.0 tensorflow-probability==0.23.0
2.安装deepxde
pip install deepxde==0.11.1
至此,环境安装完毕,后面运行案例缺少什么库下载就行
3.克隆案例
git clone https://github.com/lululxvi/deeponet.git
4.运行案例:
cd deeponet
python deeponet/src/deeponet_pde.py
问题1:AttributeError: dense
is not available with Keras 3.
解决方法:
pip install tensorflow==2.15.0 tensorflow-probability==0.23.0
pip install deepxde==0.11.1
新创建一个没有deepxde的conda环境,先安装第一个tensorflow,再安装第二个deepxde,这样就解决了。
问题2:AttributeError: module 'tensorflow' has no attribute 'trainable_variables'
解决方法:
AttributeError: module 'tensorflow' has no attribute 'trainable_variables'
这个错误表明你尝试访问的 TensorFlow 模块中不存在 trainable_variables
属性。这通常发生在你尝试使用 TensorFlow 2.x 版本的代码,但却在 TensorFlow 1.x 环境中运行。
-
如果你正在使用 TensorFlow 2.x,确保你的代码与 TensorFlow 2.x 兼容。在 TensorFlow 2.x 中,获取可训练变量的正确方法是使用
tf.compat.v1.trainable_variables()
而不是trainable_variables = tf.trainable_variables()
-
如果你需要使用 TensorFlow 1.x,确保你的环境安装了正确的版本,并且在代码中正确地调用该属性。
trainable_variables = tf.trainable_variables()
-
查询版本:确保你的环境中安装的 TensorFlow 版本与你的代码兼容。如果你不确定你的 TensorFlow 版本,可以在 Python 解释器中运行以下命令来检查:
import tensorflow as tf
print(tf.__version__)
Install and Setup — DeepXDE 1.12.3.dev1+g40cd7e5 documentation
上面链接有deepxde的安装细节
3.使用不同的后端
DeepXDE 支持 TensorFlow 1.x(tensorflow.compat.v1
在 TensorFlow 2.x 中)、TensorFlow 2.x、PyTorch、JAX 和 PaddlePaddle 后端。DeepXDE 将根据以下选项选择后端(从高优先级到低优先级)
-
使用
DDE_BACKEND
环境变量:-
您可以使用它来指定后端。目前可以从“tensorflow.compat.v1”(TensorFlow 1.x 后端)、“tensorflow”(TensorFlow 2.x 后端)、“pytorch”(PyTorch)、“jax”(JAX)和“paddle”(PaddlePaddle)中选择。
DDE_BACKEND=BACKEND python pde.py
BACKEND
$ DDE_BACKEND=tensorflow.compat.v1 python pde.py
$ DDE_BACKEND=tensorflow python pde.py
$ DDE_BACKEND=pytorch python pde.py
$ DDE_BACKEND=jax python pde.py
$ DDE_BACKEND=paddle python pde.py
-
或者将全局环境变量设置
DDE_BACKEND
为BACKEND
。在 Linux 中,这通常可以通过; 在 Windows 中,在系统设置中设置环境变量export DDE_BACKEND=BACKEND
DDE_BACKEND
-
-
修改
config.json
“~/.deepxde”下的文件:-
该文件的内容如下
{"backend": "tensorflow.compat.v1"}
-
您还可以使用设置默认后端
python -m deepxde.backend.set_default_backend BACKEND
-
在 Windows 中,您可以
config.json
在“C:/Users/Username/.deepxde”目录下找到文件
-
-
如果没有像上面那样选择后端,DeepXDE 将自动找到可用的后端。
4.目前支持的功能数量为:
-
PaddlePaddle ≈ TensorFlow 1.x > TensorFlow 2.x ≈ PyTorch > JAX。
-
不同的后端支持略有不同的功能,如果 DeepXDE 引发与后端相关的错误,则切换到另一个后端。