deepxde.nn.tensorflow¶
deepxde.nn.tensorflow.deeponet module¶
-
class
deepxde.nn.tensorflow.deeponet.
DeepONet
(layer_sizes_branch, layer_sizes_trunk, activation, kernel_initializer)[source]¶ Bases:
deepxde.nn.tensorflow.nn.NN
Deep operator network.
Parameters: - layer_sizes_branch – A list of integers as the width of a fully connected network, or (dim, f) where dim is the input dimension and f is a network function. The width of the last layer in the branch and trunk net should be equal.
- layer_sizes_trunk (list) – A list of integers as the width of a fully connected network.
- activation – If activation is a
string
, then the same activation is used in both trunk and branch nets. If activation is adict
, then the trunk net uses the activation activation[“trunk”], and the branch net uses activation[“branch”].
-
call
(inputs, training=False)[source]¶ Calls the model on new inputs and returns the outputs as tensors.
In this case call() just reapplies all ops in the graph to the new inputs (e.g. build a new computational graph from the provided inputs).
Note: This method should not be called directly. It is only meant to be overridden when subclassing tf.keras.Model. To call a model on an input, always use the __call__() method, i.e. model(inputs), which relies on the underlying call() method.
Parameters: - inputs – Input tensor, or dict/list/tuple of input tensors.
- training – Boolean or boolean scalar tensor, indicating whether to run the Network in training mode or inference mode.
- mask –
A mask or list of masks. A mask can be either a boolean tensor or None (no mask). For more details, check the guide
Returns: A tensor if there is a single output, or a list of tensors if there are more than one outputs.
-
class
deepxde.nn.tensorflow.deeponet.
DeepONetCartesianProd
(layer_sizes_branch, layer_sizes_trunk, activation, kernel_initializer, regularization=None)[source]¶ Bases:
deepxde.nn.tensorflow.nn.NN
Deep operator network for dataset in the format of Cartesian product.
Parameters: - layer_sizes_branch – A list of integers as the width of a fully connected network, or (dim, f) where dim is the input dimension and f is a network function. The width of the last layer in the branch and trunk net should be equal.
- layer_sizes_trunk (list) – A list of integers as the width of a fully connected network.
- activation – If activation is a
string
, then the same activation is used in both trunk and branch nets. If activation is adict
, then the trunk net uses the activation activation[“trunk”], and the branch net uses activation[“branch”].
-
call
(inputs, training=False)[source]¶ Calls the model on new inputs and returns the outputs as tensors.
In this case call() just reapplies all ops in the graph to the new inputs (e.g. build a new computational graph from the provided inputs).
Note: This method should not be called directly. It is only meant to be overridden when subclassing tf.keras.Model. To call a model on an input, always use the __call__() method, i.e. model(inputs), which relies on the underlying call() method.
Parameters: - inputs – Input tensor, or dict/list/tuple of input tensors.
- training – Boolean or boolean scalar tensor, indicating whether to run the Network in training mode or inference mode.
- mask –
A mask or list of masks. A mask can be either a boolean tensor or None (no mask). For more details, check the guide
Returns: A tensor if there is a single output, or a list of tensors if there are more than one outputs.
-
class
deepxde.nn.tensorflow.deeponet.
PODDeepONet
(pod_basis, layer_sizes_branch, activation, kernel_initializer, layer_sizes_trunk=None, regularization=None)[source]¶ Bases:
deepxde.nn.tensorflow.nn.NN
Deep operator network with proper orthogonal decomposition (POD) for dataset in the format of Cartesian product.
Parameters: - pod_basis – POD basis used in the trunk net.
- layer_sizes_branch – A list of integers as the width of a fully connected network, or (dim, f) where dim is the input dimension and f is a network function. The width of the last layer in the branch and trunk net should be equal.
- activation – If activation is a
string
, then the same activation is used in both trunk and branch nets. If activation is adict
, then the trunk net uses the activation activation[“trunk”], and the branch net uses activation[“branch”]. - layer_sizes_trunk (list) – A list of integers as the width of a fully connected
network. If
None
, then only use POD basis as the trunk net.
References
-
call
(inputs, training=False)[source]¶ Calls the model on new inputs and returns the outputs as tensors.
In this case call() just reapplies all ops in the graph to the new inputs (e.g. build a new computational graph from the provided inputs).
Note: This method should not be called directly. It is only meant to be overridden when subclassing tf.keras.Model. To call a model on an input, always use the __call__() method, i.e. model(inputs), which relies on the underlying call() method.
Parameters: - inputs – Input tensor, or dict/list/tuple of input tensors.
- training – Boolean or boolean scalar tensor, indicating whether to run the Network in training mode or inference mode.
- mask –
A mask or list of masks. A mask can be either a boolean tensor or None (no mask). For more details, check the guide
Returns: A tensor if there is a single output, or a list of tensors if there are more than one outputs.
deepxde.nn.tensorflow.fnn module¶
-
class
deepxde.nn.tensorflow.fnn.
FNN
(layer_sizes, activation, kernel_initializer, regularization=None, dropout_rate=0)[source]¶ Bases:
deepxde.nn.tensorflow.nn.NN
Fully-connected neural network.
-
call
(inputs, training=False)[source]¶ Calls the model on new inputs and returns the outputs as tensors.
In this case call() just reapplies all ops in the graph to the new inputs (e.g. build a new computational graph from the provided inputs).
Note: This method should not be called directly. It is only meant to be overridden when subclassing tf.keras.Model. To call a model on an input, always use the __call__() method, i.e. model(inputs), which relies on the underlying call() method.
Parameters: - inputs – Input tensor, or dict/list/tuple of input tensors.
- training – Boolean or boolean scalar tensor, indicating whether to run the Network in training mode or inference mode.
- mask –
A mask or list of masks. A mask can be either a boolean tensor or None (no mask). For more details, check the guide
Returns: A tensor if there is a single output, or a list of tensors if there are more than one outputs.
-
-
class
deepxde.nn.tensorflow.fnn.
PFNN
(layer_sizes, activation, kernel_initializer, regularization=None)[source]¶ Bases:
deepxde.nn.tensorflow.nn.NN
Parallel fully-connected neural network that uses independent sub-networks for each network output.
Parameters: layer_sizes – A nested list to define the architecture of the neural network (how the layers are connected). If layer_sizes[i] is int, it represent one layer shared by all the outputs; if layer_sizes[i] is list, it represent len(layer_sizes[i]) sub-layers, each of which exclusively used by one output. Note that len(layer_sizes[i]) should equal to the number of outputs. Every number specify the number of neurons of that layer. -
call
(inputs, training=False)[source]¶ Calls the model on new inputs and returns the outputs as tensors.
In this case call() just reapplies all ops in the graph to the new inputs (e.g. build a new computational graph from the provided inputs).
Note: This method should not be called directly. It is only meant to be overridden when subclassing tf.keras.Model. To call a model on an input, always use the __call__() method, i.e. model(inputs), which relies on the underlying call() method.
Parameters: - inputs – Input tensor, or dict/list/tuple of input tensors.
- training – Boolean or boolean scalar tensor, indicating whether to run the Network in training mode or inference mode.
- mask –
A mask or list of masks. A mask can be either a boolean tensor or None (no mask). For more details, check the guide
Returns: A tensor if there is a single output, or a list of tensors if there are more than one outputs.
-
deepxde.nn.tensorflow.nn module¶
-
class
deepxde.nn.tensorflow.nn.
NN
[source]¶ Bases:
keras.engine.training.Model
Base class for all neural network modules.
-
apply_feature_transform
(transform)[source]¶ Compute the features by appling a transform to the network inputs, i.e., features = transform(inputs). Then, outputs = network(features).
-
apply_output_transform
(transform)[source]¶ Apply a transform to the network outputs, i.e., outputs = transform(inputs, outputs).
-
auxiliary_vars
¶ Any additional variables needed.
Type: Tensors
-