vanangamudi / Tubular-Reactor-Optimisation

Optimal Temperature Trajectory for Tubular Reactor Using Physics Informed Neural Networks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tubular-Reactor-Optimisation

Optimal Temperature Trajectory for Tubular Reactor Using Physics Informed Neural Networks

PINN is used to solve the governing PDEs of a tubular reactor and an optimiser predicts the optimal temperature trajectory to maximise the prodcuts.

The code uses SciANN library (SCIANN 0.6.8.3) available at https://www.sciann.com/

Issues

sciann_datagenerator not found

(tubular) vanangamudi@kaithadi:~/code/Tubular-Reactor-Optimisation
$ python Train_Model_FixedTemp.py 
Traceback (most recent call last):
  File "/home/vanangamudi/code/Tubular-Reactor-Optimisation/Train_Model_FixedTemp.py", line 1, in <module>
    from sciann_datagenerator import DataGeneratorXYT
ModuleNotFoundError: No module named 'sciann_datagenerator'
(tubular) vanangamudi@kaithadi:~/code/Tubular-Reactor-Optimisation
$ pip install sciann_datagenerator
ERROR: Could not find a version that satisfies the requirement sciann_datagenerator (from versions: none)
ERROR: No matching distribution found for sciann_datagenerator
(tubular) vanangamudi@kaithadi:~/code/Tubular-Reactor-Optimisation
$ export PYTHONPATH=$(pwd):$PYTHONPATH
(tubular) vanangamudi@kaithadi:~/code/Tubular-Reactor-Optimisation
$ pip install sciann_datagenerator
ERROR: Could not find a version that satisfies the requirement sciann_datagenerator (from versions: none)
ERROR: No matching distribution found for sciann_datagenerator

tensorflow version mismatch

$ pip install tensorflow==1.14.0
pip install keras==2.2.0
ERROR: Could not find a version that satisfies the requirement tensorflow==1.14.0 (from versions: 2.8.0rc0, 2.8.0rc1, 2.8.0, 2.8.1, 2.8.2, 2.8.3, 2.8.4, 2.9.0rc0, 2.9.0rc1, 2.9.0rc2, 2.9.0, 2.9.1, 2.9.2, 2.9.3, 2.10.0rc0, 2.10.0rc1, 2.10.0rc2, 2.10.0rc3, 2.10.0, 2.10.1, 2.11.0rc0, 2.11.0rc1, 2.11.0rc2, 2.11.0, 2.11.1, 2.12.0rc0, 2.12.0rc1, 2.12.0, 2.12.1, 2.13.0rc0, 2.13.0rc1, 2.13.0rc2, 2.13.0, 2.13.1, 2.14.0rc0, 2.14.0rc1, 2.14.0, 2.14.1, 2.15.0rc0, 2.15.0rc1, 2.15.0, 2.15.0.post1)
ERROR: No matching distribution found for tensorflow==1.14.0

keras.utils.vis_utils not found

python Train_Model_FixedTemp.py 
Successfully installed keras-2.15.0 tensorflow-cpu-2.15.0
(tubular) vanangamudi@kaithadi:~/code/Tubular-Reactor-Optimisation
$ 2024-01-10 11:27:36.000979: I tensorflow/core/util/port.cc:113] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
2024-01-10 11:27:36.054428: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 AVX_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
Traceback (most recent call last):
  File "/home/vanangamudi/code/Tubular-Reactor-Optimisation/Train_Model_FixedTemp.py", line 5, in <module>
    import sciann as sn
  File "/home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages/sciann/__init__.py", line 10, in <module>
    from . import constraints
  File "/home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages/sciann/constraints/__init__.py", line 7, in <module>
    from . import constraint
  File "/home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages/sciann/constraints/constraint.py", line 8, in <module>
    from ..utils import is_tensor
  File "/home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages/sciann/utils/__init__.py", line 7, in <module>
    from . import math
  File "/home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages/sciann/utils/math.py", line 10, in <module>
    graph_unique_name = K.get_graph().unique_name
AttributeError: module 'keras.backend' has no attribute 'get_graph'
(tubular) vanangamudi@kaithadi:~/code/Tubular-Reactor-Optimisation
$ python Train_Model_FixedTemp.py 
2024-01-10 11:29:52.554446: I tensorflow/core/util/port.cc:113] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
2024-01-10 11:29:52.640350: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 AVX_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
Traceback (most recent call last):
  File "/home/vanangamudi/code/Tubular-Reactor-Optimisation/Train_Model_FixedTemp.py", line 5, in <module>
    import sciann as sn
  File "/home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages/sciann/__init__.py", line 10, in <module>
    from . import constraints
  File "/home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages/sciann/constraints/__init__.py", line 7, in <module>
    from . import constraint
  File "/home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages/sciann/constraints/constraint.py", line 8, in <module>
    from ..utils import is_tensor
  File "/home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages/sciann/utils/__init__.py", line 7, in <module>
    from . import math
  File "/home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages/sciann/utils/math.py", line 27, in <module>
    from .utilities import *
  File "/home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages/sciann/utils/utilities.py", line 20, in <module>
    from keras.utils.vis_utils import model_to_dot
ModuleNotFoundError: No module named 'keras.utils.vis_utils'

AttributeError: module 'keras.backend' has no attribute 'get_graph'

(tubular) vanangamudi@kaithadi:~/code/Tubular-Reactor-Optimisation
$ python Train_Model_FixedTemp.py 
2024-01-10 12:28:04.951882: I tensorflow/core/util/port.cc:113] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
2024-01-10 12:28:05.004467: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 AVX_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
Traceback (most recent call last):
  File "/home/vanangamudi/code/Tubular-Reactor-Optimisation/Train_Model_FixedTemp.py", line 5, in <module>
    import sciann as sn
  File "/home/vanangamudi/code/sciann/sciann/__init__.py", line 10, in <module>
    from . import constraints
  File "/home/vanangamudi/code/sciann/sciann/constraints/__init__.py", line 7, in <module>
    from . import constraint
  File "/home/vanangamudi/code/sciann/sciann/constraints/constraint.py", line 8, in <module>
    from ..utils import is_tensor
  File "/home/vanangamudi/code/sciann/sciann/utils/__init__.py", line 7, in <module>
    from . import math
  File "/home/vanangamudi/code/sciann/sciann/utils/math.py", line 10, in <module>
    graph_unique_name = K.get_graph().unique_name
AttributeError: module 'keras.backend' has no attribute 'get_graph'
(tubular) vanangamudi@kaithadi:~/code/Tubular-Reactor-Optimisation

TypeError: Can not convert a KerasTensor into a Tensor or Operation.

(tubular) vanangamudi@kaithadi:~/code/Tubular-Reactor-Optimisation
$ python Train_Model_FixedTemp.py 
2024-01-10 12:41:45.945801: I tensorflow/core/util/port.cc:113] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
2024-01-10 12:41:46.000829: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 AVX_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
Traceback (most recent call last):
  File "/home/vanangamudi/code/Tubular-Reactor-Optimisation/Train_Model_FixedTemp.py", line 5, in <module>
    import sciann as sn
  File "/home/vanangamudi/code/sciann/sciann/__init__.py", line 11, in <module>
    from . import functionals
  File "/home/vanangamudi/code/sciann/sciann/functionals/__init__.py", line 14, in <module>
    from . import rnn_functional
  File "/home/vanangamudi/code/sciann/sciann/functionals/rnn_functional.py", line 11, in <module>
    from tensorflow.python.keras.layers import Dense, LSTM, SimpleRNN
ImportError: cannot import name 'LSTM' from 'tensorflow.python.keras.layers' (/home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages/tensorflow/python/keras/layers/__init__.py)
(tubular) vanangamudi@kaithadi:~/code/Tubular-Reactor-Optimisation
$ python Train_Model_FixedTemp.py 
2024-01-10 12:42:18.032037: I tensorflow/core/util/port.cc:113] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
2024-01-10 12:42:18.084384: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 AVX_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
Traceback (most recent call last):
  File "/home/vanangamudi/code/Tubular-Reactor-Optimisation/Train_Model_FixedTemp.py", line 5, in <module>
    import sciann as sn
  File "/home/vanangamudi/code/sciann/sciann/__init__.py", line 12, in <module>
    from . import models
  File "/home/vanangamudi/code/sciann/sciann/models/__init__.py", line 6, in <module>
    from . import model
  File "/home/vanangamudi/code/sciann/sciann/models/model.py", line 15, in <module>
    from keras.utils.data_utils import Sequence
ModuleNotFoundError: No module named 'keras.utils.data_utils'
(tubular) vanangamudi@kaithadi:~/code/Tubular-Reactor-Optimisation
$ python Train_Model_FixedTemp.py 
2024-01-10 12:42:49.269989: I tensorflow/core/util/port.cc:113] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
2024-01-10 12:42:49.322635: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 AVX_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
---------------------- SCIANN 0.7.0.1 ---------------------- 
For details, check out our review paper and the documentation at: 
 +  "https://www.sciencedirect.com/science/article/pii/S0045782520307374", 
 +  "https://arxiv.org/abs/2005.08803", 
 +  "https://www.sciann.com". 

 Need support or would like to contribute, please join sciann`s slack group: 
 +  "https://join.slack.com/t/sciann/shared_invite/zt-ne1f5jlx-k_dY8RGo3ZreDXwz0f~CeA" 
 
TensorFlow Version: 2.15.0 
Python Version: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] 

Traceback (most recent call last):
  File "/home/vanangamudi/code/Tubular-Reactor-Optimisation/Train_Model_FixedTemp.py", line 23, in <module>
    z = sn.Variable('z')
  File "/home/vanangamudi/code/sciann/sciann/functionals/variable.py", line 41, in __init__
    super(Variable, self).__init__(
  File "/home/vanangamudi/code/sciann/sciann/functionals/mlp_functional.py", line 74, in __init__
    self._set_model()
  File "/home/vanangamudi/code/sciann/sciann/functionals/mlp_functional.py", line 214, in _set_model
    self._model = K.function(
  File "/home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages/tensorflow/python/keras/backend.py", line 4012, in function
    return GraphExecutionFunction(
  File "/home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages/tensorflow/python/keras/backend.py", line 3806, in __init__
    with ops.control_dependencies([self.outputs[0]]):
  File "/home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages/tensorflow/python/framework/ops.py", line 4495, in control_dependencies
    return get_default_graph().control_dependencies(control_inputs)
  File "/home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages/tensorflow/python/framework/ops.py", line 3904, in control_dependencies
    c = self.as_graph_element(c)
  File "/home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages/tensorflow/python/framework/ops.py", line 2851, in as_graph_element
    return self._as_graph_element_locked(obj, allow_tensor, allow_operation)
  File "/home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages/tensorflow/python/framework/ops.py", line 2947, in _as_graph_element_locked
    raise TypeError("Can not convert a %s into a %s." %
TypeError: Can not convert a KerasTensor into a Tensor or Operation.

= AttributeError: module ‘sciann’ has no attribute ‘Variable’=

(tubular) vanangamudi@kaithadi:~/code/sciann
$  git clone https://github.com/sciann/sciann.git
Cloning into 'sciann'...
remote: Enumerating objects: 1527, done.        
remote: Counting objects: 100% (310/310), done.        
remote: Compressing objects: 100% (112/112), done.        
remote: Total 1527 (delta 217), reused 271 (delta 191), pack-reused 1217        
Receiving objects: 100% (1527/1527), 539.87 KiB | 1.06 MiB/s, done.
Resolving deltas: 100% (1054/1054), done.
(tubular) vanangamudi@kaithadi:~/code/sciann
$ pip install -e .
Obtaining file:///home/vanangamudi/code/sciann
Preparing metadata (setup.py) ... done
Requirement already satisfied: numpy in /home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages (from SciANN==0.7.0.1) (1.21.6)
Requirement already satisfied: scipy in /home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages (from SciANN==0.7.0.1) (1.7.3)
Requirement already satisfied: six in /home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages (from SciANN==0.7.0.1) (1.16.0)
Requirement already satisfied: pyyaml in /home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages (from SciANN==0.7.0.1) (6.0.1)
Requirement already satisfied: h5py in /home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages (from SciANN==0.7.0.1) (3.10.0)
Requirement already satisfied: scikit-learn in /home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages (from SciANN==0.7.0.1) (1.3.2)
Requirement already satisfied: pybtex in /home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages (from SciANN==0.7.0.1) (0.24.0)
Requirement already satisfied: latexcodec>=1.0.4 in /home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages (from pybtex->SciANN==0.7.0.1) (2.0.1)
Requirement already satisfied: joblib>=1.1.1 in /home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages (from scikit-learn->SciANN==0.7.0.1) (1.3.2)
Requirement already satisfied: threadpoolctl>=2.0.0 in /home/vanangamudi/.virtualenvs/tubular/lib/python3.10/site-packages (from scikit-learn->SciANN==0.7.0.1) (3.2.0)
Installing collected packages: SciANN
Attempting uninstall: SciANN
Found existing installation: SciANN 0.7.0.1
Uninstalling SciANN-0.7.0.1:
Successfully uninstalled SciANN-0.7.0.1
Running setup.py develop for SciANN
Successfully installed SciANN-0.7.0.1
(tubular) vanangamudi@kaithadi:~/code/sciann
$ cd ../Tubular-Reactor-Optimisation/
(tubular) vanangamudi@kaithadi:~/code/Tubular-Reactor-Optimisation
$ python Train_Model_FixedTemp.py 
Traceback (most recent call last):
File "/home/vanangamudi/code/Tubular-Reactor-Optimisation/Train_Model_FixedTemp.py", line 23, in <module>
z = sn.Variable('z')
AttributeError: module 'sciann' has no attribute 'Variable'

About

Optimal Temperature Trajectory for Tubular Reactor Using Physics Informed Neural Networks


Languages

Language:Python 100.0%