PyDEns is a framework for solving Ordinary and Partial Differential Equations (ODEs & PDEs) using neural networks

Overview

License Python TensorFlow Run Status

PyDEns

PyDEns is a framework for solving Ordinary and Partial Differential Equations (ODEs & PDEs) using neural networks. With PyDEns one can solve

This page outlines main capabilities of PyDEns. To get an in-depth understanding we suggest you to also read the tutorial.

Getting started with PyDEns: solving common PDEs

Let's solve poisson equation

using simple feed-forward neural network with tanh-activations. The first step is to add a grammar of tokens - expressions used for writing down differential equations - to the current namespace:

from pydens import Solver, NumpySampler, add_tokens
import numpy as np

add_tokens()
# we've now got functions like sin, cos, D in our namespace. More on that later!

You can now set up a PyDEns-model for solving the task at hand using configuration dictionary. Note the use of differentiation token D and sin-token:

pde = {'n_dims': 2,
       'form': lambda u, x, y: D(D(u, x), x) + D(D(u, y), y) - 5 * sin(np.pi * (x + y)),
       'boundary_condition': 1}

body = {'layout': 'fa fa fa f',
        'units': [15, 25, 15, 1],
        'activation': [tf.nn.tanh, tf.nn.tanh, tf.nn.tanh]}

config = {'body': body,
          'pde': pde}

us = NumpySampler('uniform', dim=2) # procedure for sampling points from domain

and run the optimization procedure

dg = Solver(config)
dg.fit(batch_size=100, sampler=us, n_iters=1500)

in a fraction of second we've got a mesh-free approximation of the solution on [0, 1]X[0, 1]-square:

Going deeper into PyDEns-capabilities

PyDEns allows to do much more than just solve common PDEs: it also deals with (i) parametric families of PDEs and (ii) PDEs with trainable coefficients.

Solving parametric families of PDEs

Consider a family of ordinary differential equations

Clearly, the solution is a sin wave with a phase parametrized by ϵ:

Solving this problem is just as easy as solving common PDEs. You only need to introduce parameter in the equation, using token P:

pde = {'n_dims': 1,
       'form': lambda u, t, e: D(u, t) - P(e) * np.pi * cos(P(e) * np.pi * t),
       'initial_condition': 1}

config = {'pde': pde}
# One for argument, one for parameter
s = NumpySampler('uniform') & NumpySampler('uniform', low=1, high=5)

dg = Solver(config)
dg.fit(batch_size=1000, sampler=s, n_iters=5000)
# solving the whole family takes no more than a couple of seconds!

Check out the result:

Solving PDEs with trainable coefficients

With PyDEns things can get even more interesting! Assume that the initial state of the system is unknown and yet to be determined:

Of course, without additional information, the problem is undefined. To make things better, let's fix the state of the system at some other point:

Setting this problem requires a slightly more complex configuring. Note the use of V-token, that stands for trainable variable, in the initial condition of the problem. Also pay attention to train_steps-key of the config, where two train steps are configured: one for better solving the equation and the other for satisfying the additional constraint:

pde = {'n_dims': 1,
       'form': lambda u, t: D(u, t) - 2 * np.pi * cos(2 * np.pi * t),
       'initial_condition': lambda: V(3.0)}

config = {'pde': pde,
          'track': {'u05': lambda u, t: u - 2},
          'train_steps': {'initial_condition_step': {'scope': 'addendums',
                                                     'loss': {'name': 'mse', 'predictions': 'u05'}},
                          'equation_step': {'scope': '-addendums'}}}

s1 = NumpySampler('uniform')
s2 = ConstantSampler(0.5)

Model-fitting comes in two parts now: (i) solving the equation and (ii) adjusting initial condition to satisfy the additional constraint:

dg.fit(batch_size=150, sampler=s1, n_iters=2000, train_mode='equation_step')
dg.fit(batch_size=150, sampler=s2, n_iters=2000, train_mode='initial_condition_step')

Check out the results:

Installation

First of all, you have to manually install tensorflow, as you might need a certain version or a specific build for CPU / GPU.

Stable python package

With modern pipenv

pipenv install pydens

With old-fashioned pip

pip3 install pydens

Development version

pipenv install git+https://github.com/analysiscenter/pydens.git
pip3 install git+https://github.com/analysiscenter/pydens.git

Installation as a project repository:

Do not forget to use the flag --recursive to make sure that BatchFlow submodule is also cloned.

git clone --recursive https://github.com/analysiscenter/pydens.git

In this case you need to manually install the dependencies.

Citing PyDEns

Please cite PyDEns if it helps your research.

Roman Khudorozhkov, Sergey Tsimfer, Alexander Koryagin. PyDEns framework for solving differential equations with deep learning. 2019.
@misc{pydens_2019,
  author       = {Khudorozhkov R. and Tsimfer S. and Koryagin. A.},
  title        = {PyDEns framework for solving differential equations with deep learning},
  year         = 2019
}
Comments
  • compilation error in Google Collab

    compilation error in Google Collab

    I am getting compilation error in the coding line given below...Kindly tell me ....how to fix it.... I am using google collab for compilation

    dg = Solver(config) dg.fit(batch_size=50, sampler=s, n_iters=300, bar='notebook')

    OperatorNotAllowedInGraphError Traceback (most recent call last) in () ----> 1 dg = Solver(config) 2 dg.fit(batch_size=50, sampler=s, n_iters=300, bar='notebook')

    15 frames /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/framework/ops.py in _disallow_in_graph_mode(self, task) 521 raise errors.OperatorNotAllowedInGraphError( 522 "{} is not allowed in Graph execution. Use Eager execution or decorate" --> 523 " this function with @tf.function.".format(task)) 524 525 def _disallow_bool_casting(self):

    OperatorNotAllowedInGraphError: iterating over tf.Tensor is not allowed in Graph execution. Use Eager execution or decorate this function with @tf.function.

    opened by sumantkrsoni 11
  • "No module named 'pydens.batchflow' "

    I'm using Spyder3 to run this code:

    ` import pydens as pde from pydens import D import numpy as np import tensorflow as tf

    pde.add_tokens()

    pde = {'n_dims': 2, 'form': lambda u, x, y: D(D(u, x), x) + D(D(u, y), y) - 5 * pde.sin(np.pi * (x + y)), 'boundary_condition': 1}

    body = {'layout': 'fa fa fa f', #estrutura da rede neural (layers) 'units': [15, 25, 15, 1], #neurônios por camada 'activation': [tf.nn.tanh, tf.nn.tanh, tf.nn.tanh]} #ativação advinda do TFlow

    config = {'body': body, 'pde': pde}

    us = pde.NumpySampler('uniform', dim=2)

    dg = pde.Solver(config) dg.fit(batch_size=100, sampler=us, n_iters=1500) ` ...and I'm getting this error:

    `File "C:\Users\my_user\Anaconda3\lib\site-packages\pydens\letters.py", line 20, in from .batchflow.models.tf.layers import conv_block

    ModuleNotFoundError: No module named 'pydens.batchflow'`

    My tersorflow are actualized and I got PyDEns and Batchflow with pip on conda terminal.

    opened by adsmendesdaniel 9
  • How can I change the interval of x

    How can I change the interval of x

    Hello Everyone I want to change the interval of x. Instead of using the default one [0,1], I want to have [1, 1.5] so I can define my boundary conditions in these two points? How could I modify the code?

    opened by katayooneshkofti 3
  • How to install easily with PIP command?

    How to install easily with PIP command?

    Dear Guys I am extremely interested in working with your product but I have a problem installing the packages. I installed using different ways but I faced "No module named 'pydens.batchflow'" and I do not have any idea to solve it. I will appreciate it if could do a favor of installing.

    Thanks in advanced

    opened by hossein-amini67 2
  • Compilation error

    Compilation error

    Hello, I want to code according to the pydens and during compilation I am using an error at "dg solver line". Kindly fix it ASAP so that I can move further to code my problem.

    I am using tensorflow 1.15 version ======================code================

    %tensorflow_version 1.x import os import sys

    Stop TF from showing unnecessary deprecation warnings

    import warnings warnings.filterwarnings('ignore') from tensorflow import logging logging.set_verbosity(logging.ERROR) os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

    import numpy as np import tensorflow as tf from tqdm import tqdm_notebook import matplotlib.pyplot as plt

    sys.path.append('..') # this line is not needed if PyDEns is installed as package from pydens import Solver, NumpySampler, cart_prod, add_tokens from pydens import plot_loss, plot_pair_1d, plot_2d, plot_sections_2d, plot_sections_3d

    add_tokens()

    describing pde-problem in pde-dict

    pde = { 'n_dims': 1, 'form': lambda u, t: D(u, t) - 2 * np.pi * cos(2 * np.pi * t), 'initial_condition': 1 }

    put it together in model-config

    config = { 'pde': pde, 'track': {'dt': lambda u, t: D(u, t)} # allows to later fetch this value from the model }

    uniform sampling scheme

    s = NumpySampler('uniform')

    train the network on batches of 100 points

    dg = Solver(config) dg.fit(batch_size=100, sampler=s, n_iters=2000, bar='notebook')

    plot_loss(dg.loss, color='cornflowerblue')

    plot real solution and network approximation

    pts = np.linspace(0, 1, 200).reshape(-1, 1) sol = lambda t: np.sin(2 * np.pi * t) + 1 true = [sol(t[0]) for t in pts] approxs = dg.solve(pts)

    plt.plot(pts, true, 'b--', linewidth=3, label='True solution') plt.plot(pts, approxs, 'r', label='Network approximation') plt.xlabel(r'$t$', fontdict={'fontsize': 14}) plt.legend() plt.show()

    plot approximation of solution-derivative

    der = lambda t: 2 * np.pi * np.cos(2 * np.pi * t) true_der = [der(t[0]) for t in pts] ders = dg.solve(pts, fetches='dt')

    plt.plot(pts, true_der, 'b--', linewidth=3, label=r'True derivative') plt.plot(pts, ders, 'r', label=r'Network approximation of $\frac{d u}{d t}$') plt.xlabel(r'$t$', fontdict={'fontsize': 14}) plt.legend() plt.show()

    plot_pair_1d(model=dg, solution=lambda t: np.sin(2np.pit)+1, confidence=0.15, alpha=0.2)

    plot_pair_1d(model=dg, solution=lambda t: 2 * np.pi * np.cos(2 * np.pi * t), fetches='dt')


    ======================error is==================== OperatorNotAllowedInGraphError Traceback (most recent call last) in () 40 41 # train the network on batches of 100 points ---> 42 dg = Solver(config) 43 dg.fit(batch_size=100, sampler=s, n_iters=2000, bar='notebook') 44

    15 frames /tensorflow-1.15.2/python3.6/tensorflow_core/python/framework/ops.py in _disallow_in_graph_mode(self, task) 521 raise errors.OperatorNotAllowedInGraphError( 522 "{} is not allowed in Graph execution. Use Eager execution or decorate" --> 523 " this function with @tf.function.".format(task)) 524 525 def _disallow_bool_casting(self):

    OperatorNotAllowedInGraphError: iterating over tf.Tensor is not allowed in Graph execution. Use Eager execution or decorate this function with @tf.function.

    opened by sumantkrsoni 2
  • "SyntalxTreeNode" object not iterable error

    While running the solved example:

    import os
    import warnings
    import sys
    
    warnings.filterwarnings('ignore')
    from tensorflow import logging
    logging.set_verbosity(logging.ERROR)
    os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
    
    import numpy as np
    import tensorflow as tf
    from tqdm import tqdm_notebook
    import matplotlib.pyplot as plt
    
    sys.path.append('..')
    from pydens import Solver, NumpySampler, cart_prod
    from pydens import plot_loss, plot_2d, plot_pair_1d, plot_sections_2d, plot_sections_3d
    
    from pydens import add_tokens
    add_tokens()
    
    # describing pde-problem in pde-dict
    pde = {'n_dims': 1,
           'form': lambda u, t: D(u, t) - 2 * np.pi * cos(2 * np.pi * t),
           'initial_condition': 1 # will be transformed into callable returning 1
          }
    
    # put it together in model-config
    config = {'pde': pde,
              'track': {'dt': lambda u, t: D(u, t)}}
    
    # uniform sampling scheme
    s = NumpySampler('uniform')
    
    #
    ## train the network on batches of 100 points
    dg = Solver(config)
    

    I run into the following error: TypeError: 'SyntaxTreeNode' object is not iterable

    The stacktrace is:

    File "<ipython-input-21-1b5c74329633>", line 1, in <module>
        runfile('/home/nirvik/Documents/neuronal_model_python/temp.py', wdir='/home/nirvik/Documents/neuronal_model_python')
    
      File "/usr/lib/python3/dist-packages/spyder/utils/site/sitecustomize.py", line 705, in runfile
        execfile(filename, namespace)
    
      File "/usr/lib/python3/dist-packages/spyder/utils/site/sitecustomize.py", line 102, in execfile
        exec(compile(f.read(), filename, 'exec'), namespace)
    
      File "/home/nirvik/Documents/neuronal_model_python/temp.py", line 38, in <module>
        dg = Solver(config)
    
      File "/home/nirvik/.local/lib/python3.6/site-packages/pydens/wrapper.py", line 21, in __init__
        self.model = model_class(config)
    
      File "/home/nirvik/.local/lib/python3.6/site-packages/pydens/batchflow/batchflow/models/tf/base.py", line 262, in __init__
        super().__init__(*args, **kwargs)
    
      File "/home/nirvik/.local/lib/python3.6/site-packages/pydens/batchflow/batchflow/models/base.py", line 38, in __init__
        self.build(*args, **kwargs)
    
      File "/home/nirvik/.local/lib/python3.6/site-packages/pydens/batchflow/batchflow/models/tf/base.py", line 331, in build
        config = self.build_config()
    
      File "/home/nirvik/.local/lib/python3.6/site-packages/pydens/model_tf.py", line 117, in build_config
        n_parameters = get_num_parameters(form[0])
    
      File "/home/nirvik/.local/lib/python3.6/site-packages/pydens/syntax_tree.py", line 77, in get_num_parameters
        tree = form(*[SyntaxTreeNode('_' + str(i)) for i in range(n_args)])
    
      File "/home/nirvik/Documents/neuronal_model_python/temp.py", line 25, in <lambda>
        'form': lambda u, t: D(u, t) - 2 * np.pi * 2 * t^3,
    
      File "/home/nirvik/.local/lib/python3.6/site-packages/pydens/tokens.py", line 63, in <lambda>
        if isinstance(args[0], SyntaxTreeNode) else method_(*args, **kwargs))
    
      File "/home/nirvik/.local/lib/python3.6/site-packages/pydens/letters.py", line 82, in D
        return np.stack([self.D(func, coordinate) for coordinate in coordinates],
    ```
    
    I am new to using this package...please help.
    opened by NirvikNU 2
  • Plotting problem

    Plotting problem

    pyDens not plotting after running solver.fit() on both Jupyter notebook and google colaboratory. Using the first example from Github solver.fit() seems to run fine but I was expecting a plot of the results to appear. What am i missing?

    opened by babycamel 1
  • Torch

    Torch

    This pr adds torch-based model and solver and removes tensorflow completely. Leaves only one tutorial covering wide range of examples; updates pylint to working state.

    Classes added by this pr:

    • TorchModel
    • Solver
    • ConvBlockModel - model based on conv_block from batchflow.

    NOTE: despite the diff looking complex, there are basically two files in the library: model_torch.py and the tutorial notebook.

    opened by akoryagin 1
  • Solver and loader

    Solver and loader

    Main addition

    • Add saving and loading capabilities to a PyDEns-Solver class. Saving is done via Solver.save-method, while loading is performed by adding path-argument to a Solver-initialization procedure.
    opened by akoryagin 1
  • There are some references so I can learn the body

    There are some references so I can learn the body "layout characters/symbols"?

    For example: """ body = {'layout': 'fa f', 'units': [10, 1], 'activation': [tf.nn.tanh,]} """ This means that there are one first full connected layer with 10 units and activation "tanh" ('fa') and a final full connected layer with no activation ('f').

    But what about: """ body = {'layout': 'faR fa fa+ f', 'units': [10, 25, 10, 1], 'activation': [tf.nn.tanh, tf.nn.tanh, tf.nn.tanh]} """ What does 'R' mean? And the character '+'?

    Thank you.

    opened by adsmendesdaniel 1
  • Plotutils update

    Plotutils update

    Main additions

    • update plot utils: now all plot funcs for 3d-problems allow for three different plot-modes: imshow, contourf and 3d-view
    • move file with plot utils into pydens-module for convenient usage in tutorials
    • update tutorials using plot-funcs thus making them shorter
    opened by akoryagin 1
  • LBFGS optimizer not working

    LBFGS optimizer not working

    The code block below results in error:

    solver = Solver(equation=pde, ndims=2,constraints=constraints,domain=domain,layout='fa fa f', units=(10,20,1), activation='Sigmoid')
    solver.fit(batch_size=100, niters=5000, lr=0.01,optimizer='LBFGS')
    

    Error:

      0%|                                                                                   | 0/5000 [00:00<?, ?it/s]
    ---------------------------------------------------------------------------
    TypeError                                 Traceback (most recent call last)
    File <timed exec>:8, in <module>
    
    File D:\anaconda3\envs\pydens_gpu\lib\site-packages\pydens\model_torch.py:461, in Solver.fit(self, niters, batch_size, sampler, loss_terms, optimizer, criterion, lr, **kwargs)
        459 # Optimizer step.
        460 loss.backward()
    --> 461 self.optimizer.step()
        463 # Gather and store training stats.
        464 self.losses.append(loss.detach().cpu().numpy())
    
    File D:\anaconda3\envs\pydens_gpu\lib\site-packages\torch\optim\optimizer.py:88, in Optimizer._hook_for_profile.<locals>.profile_hook_step.<locals>.wrapper(*args, **kwargs)
         86 profile_name = "Optimizer.step#{}.step".format(obj.__class__.__name__)
         87 with torch.autograd.profiler.record_function(profile_name):
    ---> 88     return func(*args, **kwargs)
    
    File D:\anaconda3\envs\pydens_gpu\lib\site-packages\torch\autograd\grad_mode.py:27, in _DecoratorContextManager.__call__.<locals>.decorate_context(*args, **kwargs)
         24 @functools.wraps(func)
         25 def decorate_context(*args, **kwargs):
         26     with self.clone():
    ---> 27         return func(*args, **kwargs)
    
    TypeError: step() missing 1 required positional argument: 'closure'
    

    Any idea on how to use LBFGS optimizer ?

    opened by pradhyumna85 0
  • Learning from Data

    Learning from Data

    Sorry if this is obvious of a question, but is there a way to learn the PDE from data? I don't have the PDE as is shown throughout the examples https://github.com/analysiscenter/pydens/blob/master/tutorials/1.%20Solving%20PDEs.ipynb to define a function for the solver.

    opened by cadop 0
  • How to solve if Parametric heat-equation in the example has 2 or 3 boundary conditions?

    How to solve if Parametric heat-equation in the example has 2 or 3 boundary conditions?

    Hi, Can Pydens handle the PDE with more than 2 boundary conditions? In the parametric heat-equation example, would you please show me how to change the boundary condition to: case 1: u(x,y,t=0)=1000 u(x=0, y=0, t)=200 case 2: u(x,y,t=0)=1000 u(x=0, y=0, t)=200 u(xe,0)=u(-xe,0)=u(0,ye)=u(ye,0)=1000 (e represents edge, which indicates all boundaries have same value)

    opened by jingfu9402 1
  • Pyden Installation Problem

    Pyden Installation Problem

    Dear all, I have a problem installing the packages. In Jypyter notebook , Python 3; I use pip install pydens and it has installed successfully. Next when writing from pydens import Solver, NumpySampler, add_tokens getting error "module 'tensorflow' has no attribute 'layers'" Plz fix it.

    opened by Arup-nit 1
Releases(v1.0.2)
Owner
Data Analysis Center
Data Analysis Center
Physics-informed convolutional-recurrent neural networks for solving spatiotemporal PDEs

PhyCRNet Physics-informed convolutional-recurrent neural networks for solving spatiotemporal PDEs Paper link: [ArXiv] By: Pu Ren, Chengping Rao, Yang

Pu Ren 11 Aug 23, 2022
Leibniz is a python package which provide facilities to express learnable partial differential equations with PyTorch

Leibniz is a python package which provide facilities to express learnable partial differential equations with PyTorch

Beijing ColorfulClouds Technology Co.,Ltd. 16 Aug 7, 2022
Deep learning library for solving differential equations and more

DeepXDE Voting on whether we should have a Slack channel for discussion. DeepXDE is a library for scientific machine learning. Use DeepXDE if you need

Lu Lu 1.4k Dec 29, 2022
Code for "Infinitely Deep Bayesian Neural Networks with Stochastic Differential Equations"

Infinitely Deep Bayesian Neural Networks with SDEs This library contains JAX and Pytorch implementations of neural ODEs and Bayesian layers for stocha

Winnie Xu 95 Nov 26, 2021
Python framework for Stochastic Differential Equations modeling

SDElearn: a Python package for SDE modeling This package implements functionalities for working with Stochastic Differential Equations models (SDEs fo

null 4 May 10, 2022
PyTorch implementation for SDEdit: Image Synthesis and Editing with Stochastic Differential Equations

SDEdit: Image Synthesis and Editing with Stochastic Differential Equations Project | Paper | Colab PyTorch implementation of SDEdit: Image Synthesis a

null 536 Jan 5, 2023
Official code for Score-Based Generative Modeling through Stochastic Differential Equations

Score-Based Generative Modeling through Stochastic Differential Equations This repo contains the official implementation for the paper Score-Based Gen

Yang Song 818 Jan 6, 2023
PyTorch implementation for Score-Based Generative Modeling through Stochastic Differential Equations (ICLR 2021, Oral)

Score-Based Generative Modeling through Stochastic Differential Equations This repo contains a PyTorch implementation for the paper Score-Based Genera

Yang Song 757 Jan 4, 2023
A Python framework for developing parallelized Computational Fluid Dynamics software to solve the hyperbolic 2D Euler equations on distributed, multi-block structured grids.

pyHype: Computational Fluid Dynamics in Python pyHype is a Python framework for developing parallelized Computational Fluid Dynamics software to solve

Mohamed Khalil 21 Nov 22, 2022
Using NumPy to solve the equations of fluid mechanics together with Finite Differences, explicit time stepping and Chorin's Projection methods

Computational Fluid Dynamics in Python Using NumPy to solve the equations of fluid mechanics ?? ?? ?? together with Finite Differences, explicit time

Felix Köhler 4 Nov 12, 2022
IDRLnet, a Python toolbox for modeling and solving problems through Physics-Informed Neural Network (PINN) systematically.

IDRLnet IDRLnet is a machine learning library on top of PyTorch. Use IDRLnet if you need a machine learning library that solves both forward and inver

IDRL 105 Dec 17, 2022
Official implementation for the paper: "Multi-label Classification with Partial Annotations using Class-aware Selective Loss"

Multi-label Classification with Partial Annotations using Class-aware Selective Loss Paper | Pretrained models Official PyTorch Implementation Emanuel

null 99 Dec 27, 2022
Implementation of "Scaled-YOLOv4: Scaling Cross Stage Partial Network" using PyTorch framwork.

YOLOv4-large This is the implementation of "Scaled-YOLOv4: Scaling Cross Stage Partial Network" using PyTorch framwork. YOLOv4-CSP YOLOv4-tiny YOLOv4-

Kin-Yiu, Wong 2k Jan 2, 2023
Unofficial pytorch implementation of 'Image Inpainting for Irregular Holes Using Partial Convolutions'

pytorch-inpainting-with-partial-conv Official implementation is released by the authors. Note that this is an ongoing re-implementation and I cannot f

Naoto Inoue 525 Jan 1, 2023
Reproduce partial features of DeePMD-kit using PyTorch.

DeePMD-kit on PyTorch For better understand DeePMD-kit, we implement its partial features using PyTorch and expose interface consuing descriptors. Tec

Shaochen Shi 8 Dec 17, 2022
A framework that constructs deep neural networks, autoencoders, logistic regressors, and linear networks

A framework that constructs deep neural networks, autoencoders, logistic regressors, and linear networks without the use of any outside machine learning libraries - all from scratch.

Kordel K. France 2 Nov 14, 2022
Genetic Algorithm, Particle Swarm Optimization, Simulated Annealing, Ant Colony Optimization Algorithm,Immune Algorithm, Artificial Fish Swarm Algorithm, Differential Evolution and TSP(Traveling salesman)

scikit-opt Swarm Intelligence in Python (Genetic Algorithm, Particle Swarm Optimization, Simulated Annealing, Ant Colony Algorithm, Immune Algorithm,A

郭飞 3.7k Jan 3, 2023
Complex-Valued Neural Networks (CVNN)Complex-Valued Neural Networks (CVNN)

Complex-Valued Neural Networks (CVNN) Done by @NEGU93 - J. Agustin Barrachina Using this library, the only difference with a Tensorflow code is that y

youceF 1 Nov 12, 2021
HyDiff: Hybrid Differential Software Analysis

HyDiff: Hybrid Differential Software Analysis This repository provides the tool and the evaluation subjects for the paper HyDiff: Hybrid Differential

Yannic Noller 22 Oct 20, 2022