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
a morph transfer UGATIT for image translation.

Morph-UGATIT a morph transfer UGATIT for image translation. Introduction 中文技术文档 This is Pytorch implementation of UGATIT, paper "U-GAT-IT: Unsupervise

55 Nov 14, 2022
Implementation of the ICCV'21 paper Temporally-Coherent Surface Reconstruction via Metric-Consistent Atlases

Temporally-Coherent Surface Reconstruction via Metric-Consistent Atlases [Papers 1, 2][Project page] [Video] The implementation of the papers Temporal

56 Nov 21, 2022
A simple, unofficial implementation of MAE using pytorch-lightning

Masked Autoencoders in PyTorch A simple, unofficial implementation of MAE (Masked Autoencoders are Scalable Vision Learners) using pytorch-lightning.

Connor Anderson 20 Dec 03, 2022
Unofficial PyTorch implementation of MobileViT.

MobileViT Overview This is a PyTorch implementation of MobileViT specified in "MobileViT: Light-weight, General-purpose, and Mobile-friendly Vision Tr

Chin-Hsuan Wu 348 Dec 23, 2022
Source code of SIGIR2021 Paper 'One Chatbot Per Person: Creating Personalized Chatbots based on Implicit Profiles'

DHAP Source code of SIGIR2021 Long Paper: One Chatbot Per Person: Creating Personalized Chatbots based on Implicit User Profiles . Preinstallation Fir

ZYMa 32 Dec 06, 2022
Language Models Can See: Plugging Visual Controls in Text Generation

Language Models Can See: Plugging Visual Controls in Text Generation Authors: Yixuan Su, Tian Lan, Yahui Liu, Fangyu Liu, Dani Yogatama, Yan Wang, Lin

Yixuan Su 195 Dec 22, 2022
Implementation of Segnet, FCN, UNet , PSPNet and other models in Keras.

Image Segmentation Keras : Implementation of Segnet, FCN, UNet, PSPNet and other models in Keras. Implementation of various Deep Image Segmentation mo

Divam Gupta 2.6k Jan 05, 2023
Tom-the-AI - A compound artificial intelligence software for Linux systems.

Tom the AI (version 0.82) WARNING: This software is not yet ready to use, I'm still setting up the GitHub repository. Should be ready in a few days. T

2 Apr 28, 2022
Pytorch implementation of Integrating Tree Path in Transformer for Code Representation

This is an official Pytorch implementation of the approaches proposed in: Han Peng, Ge Li, Wenhan Wang, Yunfei Zhao, Zhi Jin “Integrating Tree Path in

Han Peng 16 Dec 23, 2022
Instance-conditional Knowledge Distillation for Object Detection

Instance-conditional Knowledge Distillation for Object Detection This is a MegEngine implementation of the paper "Instance-conditional Knowledge Disti

MEGVII Research 47 Nov 17, 2022
Deep RGB-D Saliency Detection with Depth-Sensitive Attention and Automatic Multi-Modal Fusion (CVPR'2021, Oral)

DSA^2 F: Deep RGB-D Saliency Detection with Depth-Sensitive Attention and Automatic Multi-Modal Fusion (CVPR'2021, Oral) This repo is the official imp

如今我已剑指天涯 46 Dec 21, 2022
[NeurIPS 2021] "G-PATE: Scalable Differentially Private Data Generator via Private Aggregation of Teacher Discriminators"

G-PATE This is the official code base for our NeurIPS 2021 paper: "G-PATE: Scalable Differentially Private Data Generator via Private Aggregation of T

AI Secure 14 Oct 12, 2022
LV-BERT: Exploiting Layer Variety for BERT (Findings of ACL 2021)

LV-BERT Introduction In this repo, we introduce LV-BERT by exploiting layer variety for BERT. For detailed description and experimental results, pleas

Weihao Yu 14 Aug 24, 2022
ArtEmis: Affective Language for Art

ArtEmis: Affective Language for Art Created by Panos Achlioptas, Maks Ovsjanikov, Kilichbek Haydarov, Mohamed Elhoseiny, Leonidas J. Guibas Introducti

Panos 268 Dec 12, 2022
Prototype python implementation of the ome-ngff table spec

Prototype python implementation of the ome-ngff table spec

Kevin Yamauchi 8 Nov 20, 2022
Little tool in python to watch anime from the terminal (the better way to watch anime)

ani-cli Script working again :), thanks to the fork by Dink4n for the alternative approach to by pass the captcha on gogoanime A cli to browse and wat

Harshith 4.5k Dec 31, 2022
Pytorch and Keras Implementations of Hyperspectral Image Classification -- Traditional to Deep Models: A Survey for Future Prospects.

The repository contains the implementations for Hyperspectral Image Classification -- Traditional to Deep Models: A Survey for Future Prospects. Model

Ankur Deria 115 Jan 06, 2023
The code of paper 'Learning to Aggregate and Personalize 3D Face from In-the-Wild Photo Collection'

Learning to Aggregate and Personalize 3D Face from In-the-Wild Photo Collection Pytorch implemetation of paper 'Learning to Aggregate and Personalize

Tencent YouTu Research 136 Dec 29, 2022
Rule Based Classification Project For Python

Rule-Based-Classification-Project (ENG) Business Problem: A game company wants to create new level-based customer definitions (personas) by using some

Deniz Can OĞUZ 4 Oct 29, 2022
TransFGU: A Top-down Approach to Fine-Grained Unsupervised Semantic Segmentation

TransFGU: A Top-down Approach to Fine-Grained Unsupervised Semantic Segmentation Zhaoyun Yin, Pichao Wang, Fan Wang, Xianzhe Xu, Hanling Zhang, Hao Li

DamoCV 25 Dec 16, 2022