PointCNN: Convolution On X-Transformed Points (NeurIPS 2018)

Overview

PointCNN: Convolution On X-Transformed Points

Created by Yangyan Li, Rui Bu, Mingchao Sun, Wei Wu, Xinhan Di, and Baoquan Chen.

Introduction

PointCNN is a simple and general framework for feature learning from point cloud, which refreshed five benchmark records in point cloud processing (as of Jan. 23, 2018), including:

  • classification accuracy on ModelNet40 (91.7%, with 1024 input points only)
  • classification accuracy on ScanNet (77.9%)
  • segmentation part averaged IoU on ShapeNet Parts (86.13%)
  • segmentation mean IoU on S3DIS (65.39%)
  • per voxel labelling accuracy on ScanNet (85.1%)

See our preprint on arXiv (accepted to NeurIPS 2018) for more details.

Pretrained models can be downloaded from here.

Performance on Recent Benchmarks

Revisiting Point Cloud Classification: A New Benchmark Dataset and Classification Model on Real-World Data

PartNet: A Large-scale Benchmark for Fine-grained and Hierarchical Part-level 3D Object Understanding

ABC: A Big CAD Model Dataset For Geometric Deep Learning

Practical Applications

3D cities: Deep Learning in three-dimensional space (from Esri)

PointCNN: replacing 50,000 man hours with AI (from Esri)

Point Cloud Segmentation using PointCNN in ArcGIS API for Python (from Esri)

More Implementations

We highly welcome issues, rather than emails, for PointCNN related questions.

License

Our code is released under MIT License (see LICENSE file for details).

Code Organization

The core X-Conv and PointCNN architecture are defined in pointcnn.py.

The network/training/data augmentation hyper parameters for classification tasks are defined in pointcnn_cls, for segmentation tasks are defined in pointcnn_seg.

Explanation of X-Conv and X-DeConv Parameters

Take the xconv_params and xdconv_params from shapenet_x8_2048_fps.py for example:

xconv_param_name = ('K', 'D', 'P', 'C', 'links')
xconv_params = [dict(zip(xconv_param_name, xconv_param)) for xconv_param in
                [(8, 1, -1, 32 * x, []),
                 (12, 2, 768, 32 * x, []),
                 (16, 2, 384, 64 * x, []),
                 (16, 6, 128, 128 * x, [])]]

xdconv_param_name = ('K', 'D', 'pts_layer_idx', 'qrs_layer_idx')
xdconv_params = [dict(zip(xdconv_param_name, xdconv_param)) for xdconv_param in
                 [(16, 6, 3, 2),
                  (12, 6, 2, 1),
                  (8, 6, 1, 0),
                  (8, 4, 0, 0)]]

Each element in xconv_params is a tuple of (K, D, P, C, links), where K is the neighborhood size, D is the dilation rate, P is the representative point number in the output (-1 means all input points are output representative points), and C is the output channel number. The links are used for adding DenseNet style links, e.g., [-1, -2] will tell the current layer to receive inputs from the previous two layers. Each element specifies the parameters of one X-Conv layer, and they are stacked to create a deep network.

Each element in xdconv_params is a tuple of (K, D, pts_layer_idx, qrs_layer_idx), where K and D have the same meaning as that in xconv_params, pts_layer_idx specifies the output of which X-Conv layer (from the xconv_params) will be the input of this X-DeConv layer, and qrs_layer_idx specifies the output of which X-Conv layer (from the xconv_params) will be forwarded and fused with the output of this X-DeConv layer. The P and C parameters of this X-DeConv layer is also determined by qrs_layer_idx. Similarly, each element specifies the parameters of one X-DeConv layer, and they are stacked to create a deep network.

PointCNN Usage

PointCNN is implemented and tested with Tensorflow 1.6 in python3 scripts. Tensorflow before 1.5 version is not recommended, because of API. It has dependencies on some python packages such as transforms3d, h5py, plyfile, and maybe more if it complains. Install these packages before the use of PointCNN.

If you can only use Tensorflow 1.5 because of OS factor(UBUNTU 14.04),please modify "isnan()" to "std::nan()" in "/usr/local/lib/python3.5/dist-packages/tensorflow/include/tensorflow/core/framework/numeric_types.h" line 49

Here we list the commands for training/evaluating PointCNN on classification and segmentation tasks on multiple datasets.

  • Classification

    • ModelNet40

    cd data_conversions
    python3 ./download_datasets.py -d modelnet
    cd ../pointcnn_cls
    ./train_val_modelnet.sh -g 0 -x modelnet_x3_l4
    
    • ScanNet

    Please refer to http://www.scan-net.org/ for downloading ScanNet task data and scannet_labelmap, and refer to https://github.com/ScanNet/ScanNet/tree/master/Tasks/Benchmark for downloading ScanNet benchmark files:

    scannet_dataset_download

    |_ data

    |_ scannet_labelmap

    |_ benchmark

    cd ../data/scannet/scannet_dataset_download/
    mv ./scannet_labelmap/scannet-labels.combined.tsv ../benchmark/
    
    #./pointcnn_root
    cd ../../../pointcnn/data_conversions
    python extract_scannet_objs.py -f ../../data/scannet/scannet_dataset_download/data/ -b ../../data/scannet/scannet_dataset_download/benchmark/ -o ../../data/scannet/cls/
    python prepare_scannet_cls_data.py -f ../../data/scannet/cls/
    cd ../pointcnn_cls/
    ./train_val_scannet.sh -g 0 -x scannet_x3_l4
    
    • tu_berlin

    cd data_conversions
    python3 ./download_datasets.py -d tu_berlin
    python3 ./prepare_tu_berlin_data.py -f ../../data/tu_berlin/ -a --create-train-test
    cd ../pointcnn_cls
    ./train_val_tu_berlin.sh -g 0 -x tu_berlin_x3_l4
    
    • quick_draw

    Note that the training/evaluation of quick_draw requires LARGE RAM, as we load all stokes into RAM and converting them into point cloud on-the-fly.

    cd data_conversions
    python3 ./download_datasets.py -d quick_draw
    cd ../pointcnn_cls
    ./train_val_quick_draw.sh -g 0 -x quick_draw_full_x2_l6
    
    • MNIST

    cd data_conversions
    python3 ./download_datasets.py -d mnist
    python3 ./prepare_mnist_data.py -f ../../data/mnist
    cd ../pointcnn_cls
    ./train_val_mnist.sh -g 0 -x mnist_x2_l4
    
    • CIFAR-10

    cd data_conversions
    python3 ./download_datasets.py -d cifar10
    python3 ./prepare_cifar10_data.py
    cd ../pointcnn_cls
    ./train_val_cifar10.sh -g 0 -x cifar10_x3_l4
    
  • Segmentation

    We use farthest point sampling (the implementation from PointNet++) in segmentation tasks. Compile FPS before the training/evaluation:

    cd sampling
    bash tf_sampling_compile.sh
    
    • ShapeNet

    cd data_conversions
    python3 ./download_datasets.py -d shapenet_partseg
    python3 ./prepare_partseg_data.py -f ../../data/shapenet_partseg
    cd ../pointcnn_seg
    ./train_val_shapenet.sh -g 0 -x shapenet_x8_2048_fps
    ./test_shapenet.sh -g 0 -x shapenet_x8_2048_fps -l ../../models/seg/pointcnn_seg_shapenet_x8_2048_fps_xxxx/ckpts/iter-xxxxx -r 10
    cd ../evaluation
    python3 eval_shapenet_seg.py -g ../../data/shapenet_partseg/test_label -p ../../data/shapenet_partseg/test_data_pred_10 -a
    
    • S3DIS

    Please refer to data_conversions for downloading S3DIS, then:

    cd data_conversions
    python3 prepare_s3dis_label.py
    python3 prepare_s3dis_data.py
    python3 prepare_s3dis_filelists.py
    mv S3DIS_files/* ../../data/S3DIS/out_part_rgb/
    ./train_val_s3dis.sh -g 0 -x s3dis_x8_2048_fps -a 1
    ./test_s3dis.sh -g 0 -x s3dis_x8_2048_fps -a 1 -l ../../models/seg/s3dis_x8_2048_fps_xxxx/ckpts/iter-xxxxx -r 4
    cd ../evaluation
    python3 s3dis_merge.py -d <path to *_pred.h5>
    python3 eval_s3dis.py
    

We use a hidden marker file to note when prepare is finished to avoid re-processing. This cache can be invalidated by deleting the markers.

Please notice that these command just for Area 1 (specified by -a 1 option) validation. Results on other Areas can be computed by iterating -a option.

  • ScanNet

Please refer to data_conversions for downloading ScanNet, then:

cd data_conversions
python3 prepare_scannet_seg_data.py
python3 prepare_scannet_seg_filelists.py
cd ../pointcnn_seg
./train_val_scannet.sh -g 0 -x scannet_x8_2048_k8_fps
./test_scannet.sh -g 0 -x scannet_x8_2048_k8_fps -l ../../models/seg/pointcnn_seg_scannet_x8_2048_k8_fps_xxxx/ckpts/iter-xxxxx -r 4
cd ../evaluation
python3 eval_scannet.py -d <path to *_pred.h5> -p <path to scannet_test.pickle>
  • Semantic3D

Please check the free disk space before start, about 900 GB will be required.

cd data_conversions
bash download_semantic3d.sh
bash un7z_semantic3d.sh
python3 prepare_semantic3d_data.py
mkdir ../../data/semantic3d/filelists
python3 prepare_semantic3d_filelists.py
cd ../pointcnn_seg
./train_val_semantic3d.sh -g 0 -x semantic3d_x4_2048_fps
./test_semantic3d.sh -g 0 -x semantic3d_x4_2048_fps -l <path to ckpt>
cd ../evaluation
python3 semantic3d_merge.py -d <path to *_pred.h5> -v <reduced or full>
  • Tensorboard

    If you want to monitor your train step, we recommend you use the following command
    cd <your path>/PointCNN
    tensorboard --logdir=../models/<seg/cls> <--port=6006>
    
Comments
  • ./train_val_modelnet.sh -g 0 -x modelnet_x3_l4

    ./train_val_modelnet.sh -g 0 -x modelnet_x3_l4

    hello ,when I excute the commad: ./train_val_modelnet.sh -g 0 -x modelnet_x3_l4 it just print "Train/Val with setting modelnet_x3_l4 on GPU 0!",but no any other action,why???

    opened by chunhuaqiushi1989 15
  • issue about the tf_sampling_compile.sh

    issue about the tf_sampling_compile.sh

    when I compile tf_sampling_so.so file some warning happened: nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning). but the tf_sampling_so.so compiled successfully then I run the command: ./train_val_shapenet.sh -g 0 -x shapenet_x8_2048_fps error messages in pointcnn_seg_shapenet_x8_2048_fps.txt like that: Traceback (most recent call last): File "../train_val_seg.py", line 295, in main() File "../train_val_seg.py", line 127, in main net = model.Net(points_augmented, features_augmented, is_training, setting) File "/home/whf/ZYM/PointCNN/pointcnn_seg.py", line 11, in init PointCNN.init(self, points, features, is_training, setting) File "/home/whf/ZYM/PointCNN/pointcnn.py", line 64, in init from sampling import tf_sampling File "/home/whf/ZYM/PointCNN/sampling/tf_sampling.py", line 15, in sampling_module=tf.load_op_library(os.path.join(BASE_DIR, 'tf_sampling_so.so')) File "/home/whf/anaconda3/envs/tf_gpu/lib/python3.6/site-packages/tensorflow/python/framework/load_library.py", line 58, in load_op_library lib_handle = py_tf.TF_LoadLibrary(library_filename, status) File "/home/whf/anaconda3/envs/tf_gpu/lib/python3.6/site-packages/tensorflow/python/framework/errors_impl.py", line 516, in exit c_api.TF_GetCode(self.status.status)) tensorflow.python.framework.errors_impl.NotFoundError: /home/whf/ZYM/PointCNN/sampling/tf_sampling_so.so: undefined symbol: _ZN10tensorflow8internal21CheckOpMessageBuilder9NewStringEv

    My environment as follows: gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.4) tensorflow 1.6.0

    opened by YamingZ 11
  • Visualization of the segmentation results

    Visualization of the segmentation results

    Hello, thanks for sharing your great work with us here! I just downloaded the ScanNet dataset for semantic segmentation task, and I have finished the training and testing. When I wanted to visualize the results, I found that every ply file is just a tiny part of the whole scene. How can I visualize the result of the whole scene? I have no idea which files belong to the same scene. Does every h5 file contain several different scenes?

    opened by RicheyHuang 10
  • Memory Error

    Memory Error

    When I test the semantic3d data set, my computer has 64GB of memory. Memory Error appears when I prepare data and train. How much memory does it need?

    opened by ruanhailiang 9
  • tf_sampling_so.so error while training

    tf_sampling_so.so error while training

    Hi, I followed the steps in the Semantic3d dataset and used a custom dataset to train. I was able to create .h5 and all steps were successful. But when I run, ./train_val_semantic3d.sh -g 0 -x semantic3d_x4_2048_fps :
    inside models/seg -> the log file shows the following error: tf_sampling_so.so: cannot open shared object file: No such file or directory

    I checked the existing issues (https://github.com/charlesq34/pointnet2/issues/48) and made changes to Pointcnn/sampling/tf_sampling_compiler.sh but still did not work.

    I am using the TensorFlow version = 1.15, python 3.6, conda environment(Used pip command to install tf as mentioned in one of the issues. Still didn't work) Any help on how to resolve this issue? Regards Niranjan

    opened by NiranjanRavi1993 8
  • Undefined name 'tnet'

    Undefined name 'tnet'

    https://github.com/yangyanli/PointCNN/blob/master/pointnetpp_cls/utils/pointnet_util.py#L49

    flake8 testing of https://github.com/yangyanli/PointCNN

    $ flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics

    ./pointnetpp_cls/utils/pointnet_util.py:49:23: F821 undefined name 'tnet'
            grouped_xyz = tnet(grouped_xyz, tnet_spec)
                          ^
    1     F821 undefined name 'tnet'
    
    opened by cclauss 8
  • Classification on large *.ply data

    Classification on large *.ply data

    Hi, Thank you for sharing your work. My 3D face dataset contains large ply files. For example:

    ply
    format ascii 1.0
    element vertex 166368
    property float x
    property float y
    property float z
    element face 156797
    property list uchar int vertex_indices
    end_header
    -50.8063 31.0753 83.1526
    ...
    3 37583 37611 37610 
    ...
    

    And i should do the classification basing on these ply files but I have no idea how to implement it using PointCNN. What should i do?

    Thank you. tsly

    opened by tsly123 7
  • ScanNet classification, can't obtain 9,305/2,606 training/testing instances

    ScanNet classification, can't obtain 9,305/2,606 training/testing instances

    How did you fix the benchmark files to reach 9,305/2,606 instances, as you mentioned in issue #29 ?

    Can you update the benchmark files with the fixed files (maybe scannet-labels.combined.tsv and classes_ObjClassification-ShapeNetCore55.txt in ./data_conversions)? Thanks.

    opened by Yochengliu 7
  • ImportError: No module named sampling in Python 2.7

    ImportError: No module named sampling in Python 2.7

    Hi, I am able to compile the sampling file but can't use it. I am using python 2.7 and Tensorflow 1.7.0 When I want to import sampling in pointcnn.py, I got the following error :

      File "/home/yjm/Project/PointCNN11_24_new/code/pointcnn.py", line 69, in __init__
        from sampling import tf_sampling
    ImportError: No module named sampling
    

    However, when I compile sampling, I got no error. My tf_sampling_compile.sh file is :

    #/bin/bash
    PYTHON=python
    nvcc=/usr/local/cuda/bin/nvcc
    cudalib=/usr/local/cuda/lib64
    tensorflow=/home/yjm/anaconda3/envs/py27_1/lib/python2.7/site-packages/tensorflow/include
    TF_INC=$($PYTHON -c 'import tensorflow as tf;print(tf.sysconfig.get_include())')
    TF_LIB=$($PYTHON -c 'import tensorflow as tf;print(tf.sysconfig.get_lib())')
    
    $nvcc tf_sampling_g.cu -o tf_sampling_g.cu.o -c -O2 -DGOOGLE_CUDA=1 -x cu -Xcompiler -fPIC
    g++ -std=c++11 tf_sampling.cpp tf_sampling_g.cu.o -o tf_sampling_so.so -shared -fPIC -I $tensorflow -I$TF_INC/external/nsync/public -L$TF_LIB -ltensorflow_framework -I /usr/local/cuda/include -lcudart -L /usr/local/cuda/lib64/ -O2
    

    I would be very grateful if you give me some suggestions ! Thanks!

    opened by jialancong 7
  • Problem on Reproducing Scannet Segmentation Results

    Problem on Reproducing Scannet Segmentation Results

    Hi,

    I tried to reproduce the results for Scannet Dataset on Segmentation Task but I cannot reproduce the mentioned results. The accuracy just around 77.76% (Validation) and ~85% for training data. I used the "pointnet++ preprocessed data" with provided scannet-seg hyper-parameters.

    Can you give me a clue what I should do to reproduce the result? And also how long do you train the model to achieve the published result?

    opened by hasanari 7
  • could not run the code

    could not run the code

    Hi, I could not run the code using the commands you give.

    (pointcnn) [email protected]:/mnt/Ubuntu/PointCNN-master/pointcnn_cls$ ./train_val_modelnet.sh -g 0 -x modelnet_x3_l4 Train/Val with setting modelnet_x3_l4 on GPU 0! (pointcnn) [email protected]:/mnt/Ubuntu/PointCNN-master/pointcnn_cls$

    It echos "Train/Val with setting modelnet_x3_l4 on GPU 0!" but exits immediately. What's the problem?

    opened by rruixxu 6
  • ScannetV2 for point cloud Classification get too high performace

    ScannetV2 for point cloud Classification get too high performace

    Thanks for your work! When i use your code extract scannet dataset for 3D classification , I get 12060 examples for training and 3416 for testing. It seems that scannetv2 is different from scannetv1. However , when i train it with pointnet and pointnet++, I respectively get the best performance 89.34 and 90.35! It is higher than your paper's result. Do anyone have the same founding with me? Is it normal phenomenon due to the Scannetv2 is easy to classify than Scannetv1(i guess that in 2018 , Scannet just release V1) or i make some mistakes which cause my dataset wrong?

    Thanks for anyone's answer. Best regards. ╰(°▽°)╯

    opened by jumptiger66 0
  • PointCNN Part segmentation model details

    PointCNN Part segmentation model details

    Dear author,

    I am interested in finding out the model size for PointCNN part segmentation, but I could only find the information for PointCNN classification network. Could you please report what is GMac for PointCNN part segmentation network? Thank you very much in advance.

    opened by edshkim98 0
  • Regarding custom dataset

    Regarding custom dataset

    Hi. Thank you for the repository.

    I wanted to ask if it is possible to get any guidance regarding the custom dataset. I have my own dataset i.e. X, Y, Z points with labels (4 columns in total) in txt files. I wanted to know how I can create a data loader for custom data and train the network.

    opened by pytholic 7
  • How to run PointCNN

    How to run PointCNN

    Hi everyone,

    I am pretty new in Neural Networks, can anyone share with me which parameters do you use? In which formats are (number, dictionary, array)? How do you run the class PointCNN?

    Thank you in advance!

    opened by elinausmanova 0
  • Creating Confusion matrix from predicted results

    Creating Confusion matrix from predicted results

    I am trying to create (and plot) a confusion matrix for a multilabel dataset that has the predicted results structured in the same way the S3DIS results. I'm having trouble with creating the confusion matrix from the results and I am wondering if anyone has figured out how to do this. Any help would be greatly appreciated!

    opened by jobberz77 0
Releases(v1.0)
A collection of educational notebooks on multi-view geometry and computer vision.

Multiview notebooks This is a collection of educational notebooks on multi-view geometry and computer vision. Subjects covered in these notebooks incl

Max 65 Dec 09, 2022
Pseudo-mask Matters in Weakly-supervised Semantic Segmentation

Pseudo-mask Matters in Weakly-supervised Semantic Segmentation By Yi Li, Zhanghui Kuang, Liyang Liu, Yimin Chen, Wayne Zhang SenseTime, Tsinghua Unive

33 Oct 14, 2022
Repo for EchoVPR: Echo State Networks for Visual Place Recognition

EchoVPR Repo for EchoVPR: Echo State Networks for Visual Place Recognition Currently under development Dirs: data: pre-collected hidden representation

Anil Ozdemir 4 Oct 04, 2022
Quick program made to generate alpha and delta tables for Hidden Markov Models

HMM_Calc Functions for generating Alpha and Delta tables from a Hidden Markov Model. Parameters: a: Matrix of transition probabilities. a[i][j] = a_{i

Adem Odza 1 Dec 04, 2021
Deal or No Deal? End-to-End Learning for Negotiation Dialogues

Introduction This is a PyTorch implementation of the following research papers: (1) Hierarchical Text Generation and Planning for Strategic Dialogue (

Facebook Research 1.4k Dec 29, 2022
A Tensorflow implementation of BicycleGAN.

BicycleGAN implementation in Tensorflow As part of the implementation series of Joseph Lim's group at USC, our motivation is to accelerate (or sometim

Cognitive Learning for Vision and Robotics (CLVR) lab @ USC 97 Dec 02, 2022
This application explain how we can easily integrate Deepface framework with Python Django application

deepface_suite This application explain how we can easily integrate Deepface framework with Python Django application install redis cache install requ

Mohamed Naji Aboo 3 Apr 18, 2022
Pairwise learning neural link prediction for ogb link prediction

Pairwise Learning for Neural Link Prediction for OGB (PLNLP-OGB) This repository provides evaluation codes of PLNLP for OGB link property prediction t

Zhitao WANG 31 Oct 10, 2022
[ICCV 2021] Learning A Single Network for Scale-Arbitrary Super-Resolution

ArbSR Pytorch implementation of "Learning A Single Network for Scale-Arbitrary Super-Resolution", ICCV 2021 [Project] [arXiv] Highlights A plug-in mod

Longguang Wang 229 Dec 30, 2022
Joint Discriminative and Generative Learning for Person Re-identification. CVPR'19 (Oral)

Joint Discriminative and Generative Learning for Person Re-identification [Project] [Paper] [YouTube] [Bilibili] [Poster] [Supp] Joint Discriminative

NVIDIA Research Projects 1.2k Dec 30, 2022
[CVPR 2019 Oral] Multi-Channel Attention Selection GAN with Cascaded Semantic Guidance for Cross-View Image Translation

SelectionGAN for Guided Image-to-Image Translation CVPR Paper | Extended Paper | Guided-I2I-Translation-Papers Citation If you use this code for your

Hao Tang 424 Dec 02, 2022
A simple approach to emable dense segmentation with ViT.

Vision Transformer Segmentation Network This implementation of ViT in pytorch uses a super simple and straight-forward way of generating an output of

HReynaud 5 Jan 03, 2023
Official code for "EagerMOT: 3D Multi-Object Tracking via Sensor Fusion" [ICRA 2021]

EagerMOT: 3D Multi-Object Tracking via Sensor Fusion Read our ICRA 2021 paper here. Check out the 3 minute video for the quick intro or the full prese

Aleksandr Kim 276 Dec 30, 2022
GPT-Code-Clippy (GPT-CC) is an open source version of GitHub Copilot

GPT-Code-Clippy (GPT-CC) is an open source version of GitHub Copilot, a language model -- based on GPT-3, called GPT-Codex -- that is fine-tuned on publicly available code from GitHub.

2.3k Jan 09, 2023
[ACM MM 2021] Yes, "Attention is All You Need", for Exemplar based Colorization

Transformer for Image Colorization This is an implemention for Yes, "Attention Is All You Need", for Exemplar based Colorization, and the current soft

Wang Yin 30 Dec 07, 2022
This repository contains the data and code for the paper "Diverse Text Generation via Variational Encoder-Decoder Models with Gaussian Process Priors" ([email protected])

GP-VAE This repository provides datasets and code for preprocessing, training and testing models for the paper: Diverse Text Generation via Variationa

Wanyu Du 18 Dec 29, 2022
Code for "Adversarial Attack Generation Empowered by Min-Max Optimization", NeurIPS 2021

Min-Max Adversarial Attacks [Paper] [arXiv] [Video] [Slide] Adversarial Attack Generation Empowered by Min-Max Optimization Jingkang Wang, Tianyun Zha

Jingkang Wang 12 Nov 23, 2022
Minimal diffusion models - Minimal code and simple experiments to play with Denoising Diffusion Probabilistic Models (DDPMs)

Minimal code and simple experiments to play with Denoising Diffusion Probabilist

Rithesh Kumar 16 Oct 06, 2022
Large-scale open domain KNOwledge grounded conVERsation system based on PaddlePaddle

Knover Knover is a toolkit for knowledge grounded dialogue generation based on PaddlePaddle. Knover allows researchers and developers to carry out eff

607 Dec 31, 2022
Simple node deletion tool for onnx.

snd4onnx Simple node deletion tool for onnx. I only test very miscellaneous and limited patterns as a hobby. There are probably a large number of bugs

Katsuya Hyodo 6 May 15, 2022