Implement slightly different caffe-segnet in tensorflow

Overview

Tensorflow-SegNet

Implement slightly different (see below for detail) SegNet in tensorflow, successfully trained segnet-basic in CamVid dataset.

Due to indice unravel still unavailable in tensorflow, the original upsampling method is temporarily replaced simply by deconv( or conv-transpose) layer (without pooling indices). You can follow the issue here: https://github.com/tensorflow/tensorflow/issues/2169 (The current workaround for unpooling layer is a bit slow because it lacks of GPU support.)

for model detail, please go to https://github.com/alexgkendall/caffe-segnet

Requirement

tensorflow 1.0 Pillow (optional, for write label image) scikit-image

Update

Update to tf 1.0

Finally get some time to refactor a bit, removing some un-used function and remove the hard-coded file path Now the model should be easy to config. The parameters can be found in main.py.

I planned to add more feature such as dilation, multi-resolution, sequential learning..etc. Making it more like a "basic" segmentation toolbox and support more dataset as well. Therefore the model and documentation will be changed accordingly in the future.

More utility function will be added and some messed coding style will be fixed. Any feature request is also welcomed.

Usage

see also example.sh training:

python main.py --log_dir=path_to_your_log --image_dir=path_to_CamVid_train.txt --val_dir=path_to_CamVid_val.txt --batch_size=5

finetune:

python main.py --finetune=path_to_saved_ckpt --log_dir=path_to_your_log --image_dir=path_to_CamVid_train.txt --val_dir=path_to_CamVid_val.txt --batch_size=5

testing:

python main.py --testing=path_to_saved_ckpt --log_dir=path_to_your_log --test_dir=path_to_CamVid_train.txt --batch_size=5 --save_image=True

You can set default path and parameters in main.py line 6~18. note: in --testing you can specify whether to save predicted images, currently only save one image for manually checking, will be configured to be more flexible.

Dataset

This Implement default to use CamVid dataset as described in the original SegNet paper, The dataset can be download from author's github https://github.com/alexgkendall/SegNet-Tutorial in the CamVid folder

example format:

"path_to_image1" "path_to_corresponded_label_image1",

"path_to_image2" "path_to_corresponded_label_image2",

"path_to_image3" "path_to_corresponded_label_image3",

.......

Comments
  • Add a pre-trained CamVid model

    Add a pre-trained CamVid model

    Getting this trained so I could even start playing around was an absolute nightmare. Hopefully this will stop others from suffering the same pain.

    Git is probably not the best way of distributing this as it's quite large (~30MB). Happy to follow up on any other suggestions.

    opened by Knifa 3
  • wrong when training , about dataset's  path

    wrong when training , about dataset's path

    just python main.py

    a wrong result like below:

    To construct input pipelines, use the `tf.data` module.
    2019-04-14 14:37:44.570365: W tensorflow/core/framework/op_kernel.cc:1401] OP_REQUI2019-06-14 14:37:44.570725: W tensorflow/core/framework/op_kernel.cc:1401] OP_REQUIRES failed at whole_file_read_ops.cc:114 :
     Not found: NewRandomAccessFile failed to Create/Open: /SegNet/CamVid/trainannot/0016E5_05700.png : 系统找不到指定的路径。
    ; No such process
    2019-04-14 14:37:44.631215: W tensorflow/core/framework/op_kernel.cc:1401] OP_REQUIRES failed at whole_file_read_ops.cc:114 : Not found: NewRand2019-06-14 14:37:44.631705: W tensorflow/core/framework/op_kerne
    l.cc:1401] OP_REQUIRES failed at whole_file_read_ops.cc:114 : Not found: NewRandomAccessFile failed to Create/Open: /SegNet/CamVid/valannot/0016E5_08129.png : 系统找不到指定的路径。
    ; No such proces
    ```s
    
    
    opened by cena001plus 2
  • About model checkpoint

    About model checkpoint

    Hello,

    Thank you for your hard work.

    I am new to Tensorflow, so I am writing to ask for your help about check point file.

    In the bash file, you mention about: "--finetune=/tmp3/first350/TensorFlow/Logs/model.ckpt-1000"

    Could you please guide me how to get the model.ckpt?

    Thank you so much for your help.

    opened by vuhoangminh 2
  • Why not replace drawings_object.writeImage with flag color mapping?

    Why not replace drawings_object.writeImage with flag color mapping?

    The code of drawings_object.writeImage is weird...

    why not use:

    def writeImage(image):
        """ store label data to colored image """
        plt.imshow(image, cmap=plt.get_cmap('flag'))
        
    

    it is much simpler and without a fixed class types. It works fine to me.

    out_0

    opened by dogod621 1
  • AttributeError: module 'snappy' has no attribute 'compress'

    AttributeError: module 'snappy' has no attribute 'compress'

    I am trying to run the example.sh file and getting the following error. Can someone help?

    The model is set to Training Max training Iteration: 20000 Initial lr: 0.001000 CamVid Image dir: /Users/username/Downloads/Tensorflow-SegNet-master/CamVid/train.txt CamVid Val dir: /Users/username/Downloads/Tensorflow-SegNet-master/CamVid/val.txt Batch Size: 5 Log dir: /Users/username/Downloads/Tensorflow-SegNet-master/Logs/--image_dir=/Users/username/Downloads/Tensorflow-SegNet-master/CamVid/train.txt Filling queue with 146 CamVid images before starting to train. This will take a few minutes. Filling queue with 146 CamVid images before starting to train. This will take a few minutes. Traceback (most recent call last): File "main.py", line 52, in tf.app.run() File "/Users/username/anaconda/lib/python3.6/site-packages/tensorflow/python/platform/app.py", line 48, in run _sys.exit(main(_sys.argv[:1] + flags_passthrough)) File "main.py", line 49, in main model.training(FLAGS, is_finetune=False) File "/Users/username/Downloads/Tensorflow-SegNet-master/model.py", line 369, in training loss, eval_prediction = inference(train_data_node, train_labels_node, batch_size, phase_train) File "/Users/username/Downloads/Tensorflow-SegNet-master/model.py", line 180, in inference conv1 = conv_layer_with_bn(norm1, [7, 7, images.get_shape().as_list()[3], 64], phase_train, name="conv1") File "/Users/username/Downloads/Tensorflow-SegNet-master/model.py", line 131, in conv_layer_with_bn conv_out = tf.nn.relu(batch_norm_layer(bias, train_phase, scope.name)) File "/Users/username/Downloads/Tensorflow-SegNet-master/model.py", line 171, in batch_norm_layer lambda: tf.contrib.layers.batch_norm(inputT, is_training=False, File "/Users/username/anaconda/lib/python3.6/site-packages/tensorflow/python/util/deprecation.py", line 296, in new_func return func(*args, **kwargs) File "/Users/username/anaconda/lib/python3.6/site-packages/tensorflow/python/ops/control_flow_ops.py", line 1819, in cond orig_res_t, res_t = context_t.BuildCondBranch(true_fn) File "/Users/username/anaconda/lib/python3.6/site-packages/tensorflow/python/ops/control_flow_ops.py", line 1694, in BuildCondBranch original_result = fn() File "/Users/username/Downloads/Tensorflow-SegNet-master/model.py", line 169, in lambda: tf.contrib.layers.batch_norm(inputT, is_training=True, File "/Users/username/anaconda/lib/python3.6/site-packages/tensorflow/python/util/lazy_loader.py", line 53, in getattr module = self._load() File "/Users/username/anaconda/lib/python3.6/site-packages/tensorflow/python/util/lazy_loader.py", line 42, in _load module = importlib.import_module(self.name) File "/Users/username/anaconda/lib/python3.6/importlib/init.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 978, in _gcd_import File "", line 961, in _find_and_load File "", line 950, in _find_and_load_unlocked File "", line 655, in _load_unlocked File "", line 678, in exec_module File "", line 205, in _call_with_frames_removed File "/Users/username/anaconda/lib/python3.6/site-packages/tensorflow/contrib/init.py", line 31, in from tensorflow.contrib import factorization File "/Users/username/anaconda/lib/python3.6/site-packages/tensorflow/contrib/factorization/init.py", line 24, in from tensorflow.contrib.factorization.python.ops.gmm import * File "/Users/username/anaconda/lib/python3.6/site-packages/tensorflow/contrib/factorization/python/ops/gmm.py", line 27, in from tensorflow.contrib.learn.python.learn.estimators import estimator File "/Users/username/anaconda/lib/python3.6/site-packages/tensorflow/contrib/learn/init.py", line 88, in from tensorflow.contrib.learn.python.learn import * File "/Users/username/anaconda/lib/python3.6/site-packages/tensorflow/contrib/learn/python/init.py", line 23, in from tensorflow.contrib.learn.python.learn import * File "/Users/username/anaconda/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/init.py", line 25, in from tensorflow.contrib.learn.python.learn import estimators File "/Users/username/anaconda/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/estimators/init.py", line 297, in from tensorflow.contrib.learn.python.learn.estimators.dnn import DNNClassifier File "/Users/username/anaconda/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/estimators/dnn.py", line 30, in from tensorflow.contrib.learn.python.learn.estimators import dnn_linear_combined File "/Users/username/anaconda/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/estimators/dnn_linear_combined.py", line 31, in from tensorflow.contrib.learn.python.learn.estimators import estimator File "/Users/username/anaconda/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", line 49, in from tensorflow.contrib.learn.python.learn.learn_io import data_feeder File "/Users/username/anaconda/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/learn_io/init.py", line 21, in from tensorflow.contrib.learn.python.learn.learn_io.dask_io import extract_dask_data File "/Users/username/anaconda/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/learn_io/dask_io.py", line 26, in import dask.dataframe as dd File "/Users/username/anaconda/lib/python3.6/site-packages/dask/dataframe/init.py", line 5, in from .io import (from_array, from_pandas, from_bcolz, File "/Users/username/anaconda/lib/python3.6/site-packages/dask/dataframe/io/init.py", line 6, in from .csv import read_csv, to_csv, read_table File "/Users/username/anaconda/lib/python3.6/site-packages/dask/dataframe/io/csv.py", line 14, in from ...bytes import read_bytes File "/Users/username/anaconda/lib/python3.6/site-packages/dask/bytes/init.py", line 4, in from .core import read_bytes, open_files, open_text_files File "/Users/username/anaconda/lib/python3.6/site-packages/dask/bytes/core.py", line 9, in from .compression import seekable_files, files as compress_files File "/Users/username/anaconda/lib/python3.6/site-packages/dask/bytes/compression.py", line 32, in compress['snappy'] = snappy.compress AttributeError: module 'snappy' has no attribute 'compress'

    opened by ddoe777 1
  • Weighted loss for classes

    Weighted loss for classes

    Hi,

    Thank you for sharing your code and helping us learn about segnet. 👍 . I had a small question.

    In the model.py file (method: def cal_loss(logits, labels)), how is the array of the weights generated?

    Thank you.

    opened by kaulanishasj 1
  • Reading annotated images

    Reading annotated images

    Hi, I just started exploring your codebase. I am trying to run segnet for my own project in which the images have fewer number of classes. When I try to just simply read one of the annotated images: '0001TP_006690.png' in the trainannot directory, I get this:

    [[ 0.00392157 0.00392157 0.00392157 ..., 0.00392157 0.00392157 0.00392157] [ 0.00392157 0.00392157 0.00392157 ..., 0.00392157 0.00392157 0.00392157] [ 0.00392157 0.00392157 0.00392157 ..., 0.00392157 0.00392157 0.00392157] ..., [ 0.01568628 0.01568628 0.01568628 ..., 0.04313726 0.04313726 0.04313726] [ 0.01568628 0.01568628 0.01568628 ..., 0.04313726 0.04313726 0.04313726] [ 0.01568628 0.01568628 0.01568628 ..., 0.04313726 0.04313726 0.04313726]]

    The way I tried to read the png is by: import matplotlib.image as img image = img.imread('0001TP_006690.png') print(image)

    If i am not wrong, arent the classes supposed to be a whole number like 1,2..11(since there are 11 classes) instead of decimnal point numbers? or is there a conversion happening that I am not aware of.

    opened by kaulanishasj 1
  • Checkpoint file storing for training

    Checkpoint file storing for training

    Hi why the current code only stores checkpoint files of the latest 5000 steps? For example, if the upper limit of total steps is 20000, checkpoint files at steps of 1000, 2000, 3000, 4000,... first showed up and then disappeared as the training process proceeds. Finally we only get checkpoint files at steps of 16000, 17000, 18000, 19000, and 19999. Could we also store the checkpoint files at steps 1000, 2000, 3000, etc.?

    opened by yutinghu 0
  • During training the data , it just change class one accuracy,but the others still show zero

    During training the data , it just change class one accuracy,but the others still show zero

    2018-04-23 12:37:04.018255: step 110, loss = 1.55 (7.1 examples/sec; 0.281 sec/batch) accuracy = 0.999809 mean IU = 0.076908 class # 0 accuracy = 0.999809 class # 1 accuracy = 0.000000 class # 2 accuracy = 0.000000 class # 3 accuracy = 0.000000 class # 4 accuracy = 0.000000 class # 5 accuracy = 0.000000 class # 6 accuracy = 0.000000 class # 7 accuracy = 0.000000 class # 8 accuracy = 0.000000 class # 9 accuracy = 0.000000 class # 10 accuracy = 0.000000 class # 11 accuracy = 0.000000 class # 12 accuracy = 0.000000 class # 13 accuracy = 0.000000 class # 14 accuracy = 0.000000 class # 15 accuracy = 0.000000 class # 16 accuracy = 0.000000 class # 17 accuracy = 0.000000 class # 18 accuracy = 0.000000 class # 19 accuracy = 0.000000 class # 20 accuracy = 0.000000 class # 21 accuracy = 0.000000 class # 22 accuracy = 0.000000 class # 23 accuracy = 0.000000 class # 24 accuracy = 0.000000 class # 25 accuracy = 0.000000 class # 26 accuracy = 0.000000 [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] 2018-04-23 12:37:07.865742: step 120, loss = 1.54 (7.1 examples/sec; 0.281 sec/batch) accuracy = 0.999881 mean IU = 0.076914 class # 0 accuracy = 0.999881 class # 1 accuracy = 0.000000 class # 2 accuracy = 0.000000 class # 3 accuracy = 0.000000 class # 4 accuracy = 0.000000 class # 5 accuracy = 0.000000 class # 6 accuracy = 0.000000 class # 7 accuracy = 0.000000 class # 8 accuracy = 0.000000 class # 9 accuracy = 0.000000 class # 10 accuracy = 0.000000 class # 11 accuracy = 0.000000 class # 12 accuracy = 0.000000 class # 13 accuracy = 0.000000 class # 14 accuracy = 0.000000 class # 15 accuracy = 0.000000 class # 16 accuracy = 0.000000 class # 17 accuracy = 0.000000 class # 18 accuracy = 0.000000 class # 19 accuracy = 0.000000 class # 20 accuracy = 0.000000 class # 21 accuracy = 0.000000 class # 22 accuracy = 0.000000 class # 23 accuracy = 0.000000 class # 24 accuracy = 0.000000 class # 25 accuracy = 0.000000 class # 26 accuracy = 0.000000 [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] 2018-04-23 12:37:11.694385: step 130, loss = 1.53 (7.3 examples/sec; 0.273 sec/batch) accuracy = 1.000000 mean IU = 1.000000 class # 0 accuracy = 1.000000 class # 1 accuracy = 0.000000 class # 2 accuracy = 0.000000 class # 3 accuracy = 0.000000 class # 4 accuracy = 0.000000 class # 5 accuracy = 0.000000 class # 6 accuracy = 0.000000 class # 7 accuracy = 0.000000 class # 8 accuracy = 0.000000 class # 9 accuracy = 0.000000 class # 10 accuracy = 0.000000 class # 11 accuracy = 0.000000 class # 12 accuracy = 0.000000 class # 13 accuracy = 0.000000 class # 14 accuracy = 0.000000 class # 15 accuracy = 0.000000 class # 16 accuracy = 0.000000 class # 17 accuracy = 0.000000 class # 18 accuracy = 0.000000 class # 19 accuracy = 0.000000 class # 20 accuracy = 0.000000 class # 21 accuracy = 0.000000 class # 22 accuracy = 0.000000 class # 23 accuracy = 0.000000 class # 24 accuracy = 0.000000 class # 25 accuracy = 0.000000 class # 26 accuracy = 0.000000 [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] 2018-04-23 12:37:15.534847: step 140, loss = 1.52 (7.4 examples/sec; 0.272 sec/batch) accuracy = 1.000000 mean IU = 1.000000 class # 0 accuracy = 1.000000 class # 1 accuracy = 0.000000 class # 2 accuracy = 0.000000 class # 3 accuracy = 0.000000 class # 4 accuracy = 0.000000 class # 5 accuracy = 0.000000 class # 6 accuracy = 0.000000 class # 7 accuracy = 0.000000 class # 8 accuracy = 0.000000 class # 9 accuracy = 0.000000 class # 10 accuracy = 0.000000 class # 11 accuracy = 0.000000 class # 12 accuracy = 0.000000 class # 13 accuracy = 0.000000 class # 14 accuracy = 0.000000 class # 15 accuracy = 0.000000 class # 16 accuracy = 0.000000 class # 17 accuracy = 0.000000 class # 18 accuracy = 0.000000 class # 19 accuracy = 0.000000 class # 20 accuracy = 0.000000 class # 21 accuracy = 0.000000 class # 22 accuracy = 0.000000 class # 23 accuracy = 0.000000 class # 24 accuracy = 0.000000 class # 25 accuracy = 0.000000 class # 26 accuracy = 0.000000 [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] [ 2 360 480 3] [ 2 360 480 1] 2018-04-23 12:37:19.353283: step 150, loss = 1.51 (7.4 examples/sec; 0.272 sec/batch) accuracy = 0.999844

    opened by mciky 0
  • Different dataset

    Different dataset

    My project is to detect distress on road. Can this segnet tensorflow implementaion be used for that? If yes, then please guide me how to start? My dataset consists of 2k images with positive and negative samples. Would that be enough?

    opened by amitadhiman 0
Owner
Tseng Kuan Lun
Computer Vision React React-Native
Tseng Kuan Lun
Caffe: a fast open framework for deep learning.

Caffe Caffe is a deep learning framework made with expression, speed, and modularity in mind. It is developed by Berkeley AI Research (BAIR)/The Berke

Berkeley Vision and Learning Center 33k Dec 28, 2022
hipCaffe: the HIP port of Caffe

Caffe Caffe is a deep learning framework made with expression, speed, and modularity in mind. It is developed by the Berkeley Vision and Learning Cent

ROCm Software Platform 126 Dec 5, 2022
a reimplementation of LiteFlowNet in PyTorch that matches the official Caffe version

pytorch-liteflownet This is a personal reimplementation of LiteFlowNet [1] using PyTorch. Should you be making use of this work, please cite the paper

Simon Niklaus 365 Dec 31, 2022
The original weights of some Caffe models, ported to PyTorch.

pytorch-caffe-models This repo contains the original weights of some Caffe models, ported to PyTorch. Currently there are: GoogLeNet (Going Deeper wit

Katherine Crowson 9 Nov 4, 2022
Caffe-like explicit model constructor. C(onfig)Model

cmodel Caffe-like explicit model constructor. C(onfig)Model Installation pip install git+https://github.com/bonlime/cmodel Usage In order to allow usi

null 1 Feb 18, 2022
Use tensorflow to implement a Deep Neural Network for real time lane detection

LaneNet-Lane-Detection Use tensorflow to implement a Deep Neural Network for real time lane detection mainly based on the IEEE IV conference paper "To

MaybeShewill-CV 1.9k Jan 8, 2023
A collection of pre-trained StyleGAN2 models trained on different datasets at different resolution.

Awesome Pretrained StyleGAN2 A collection of pre-trained StyleGAN2 models trained on different datasets at different resolution. Note the readme is a

Justin 1.1k Dec 24, 2022
This repository is related to an Arabic tutorial, within the tutorial we discuss the common data structure and algorithms and their worst and best case for each, then implement the code using Python.

Data Structure and Algorithms with Python This repository is related to the Arabic tutorial here, within the tutorial we discuss the common data struc

Mohamed Ayman 33 Dec 2, 2022
Implement face detection, and age and gender classification, and emotion classification.

YOLO Keras Face Detection Implement Face detection, and Age and Gender Classification, and Emotion Classification. (image from wider face dataset) Ove

Chloe 10 Nov 14, 2022
offical implement of our Lifelong Person Re-Identification via Adaptive Knowledge Accumulation in CVPR2021

LifelongReID Offical implementation of our Lifelong Person Re-Identification via Adaptive Knowledge Accumulation in CVPR2021 by Nan Pu, Wei Chen, Yu L

PeterPu 76 Dec 8, 2022
Official implement of Paper:A deeply supervised image fusion network for change detection in high resolution bi-temporal remote sening images

A deeply supervised image fusion network for change detection in high resolution bi-temporal remote sensing images 深度监督影像融合网络DSIFN用于高分辨率双时相遥感影像变化检测 Of

Chenxiao Zhang 135 Dec 19, 2022
Third party Pytorch implement of Image Processing Transformer (Pre-Trained Image Processing Transformer arXiv:2012.00364v2)

ImageProcessingTransformer Third party Pytorch implement of Image Processing Transformer (Pre-Trained Image Processing Transformer arXiv:2012.00364v2)

null 61 Jan 1, 2023
Official implement of "CAT: Cross Attention in Vision Transformer".

CAT: Cross Attention in Vision Transformer This is official implement of "CAT: Cross Attention in Vision Transformer". Abstract Since Transformer has

null 100 Dec 15, 2022
Official pytorch implement for “Transformer-Based Source-Free Domain Adaptation”

Official implementation for TransDA Official pytorch implement for “Transformer-Based Source-Free Domain Adaptation”. Overview: Result: Prerequisites:

stanley 54 Dec 22, 2022
Official Implement of CVPR 2021 paper “Cross-Modal Collaborative Representation Learning and a Large-Scale RGBT Benchmark for Crowd Counting”

RGBT Crowd Counting Lingbo Liu, Jiaqi Chen, Hefeng Wu, Guanbin Li, Chenglong Li, Liang Lin. "Cross-Modal Collaborative Representation Learning and a L

null 37 Dec 8, 2022
A Marvelous ChatBot implement using PyTorch.

PyTorch Marvelous ChatBot [Update] it's 2019 now, previously model can not catch up state-of-art now. So we just move towards the future a transformer

JinTian 223 Oct 18, 2022
Implement A3C for Mujoco gym envs

pytorch-a3c-mujoco Disclaimer: my implementation right now is unstable (you ca refer to the learning curve below), I'm not sure if it's my problems. A

Andrew 70 Dec 12, 2022
Perfect implement. Model shared. x0.5 (Top1:60.646) and 1.0x (Top1:69.402).

Shufflenet-v2-Pytorch Introduction This is a Pytorch implementation of faceplusplus's ShuffleNet-v2. For details, please read the following papers:

null 423 Dec 7, 2022