All Projects → iBelieveCJM → Tricks Of Semi Superviseddeepleanring Pytorch

iBelieveCJM / Tricks Of Semi Superviseddeepleanring Pytorch

Licence: mit
PseudoLabel 2013, VAT, PI model, Tempens, MeanTeacher, ICT, MixMatch, FixMatch

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Tricks Of Semi Superviseddeepleanring Pytorch

fixmatch-pytorch
90%+ with 40 labels. please see the readme for details.
Stars: ✭ 27 (-88.75%)
Mutual labels:  ssl, semi-supervised-learning
Node Mock Server
File based Node REST API mock server
Stars: ✭ 225 (-6.25%)
Mutual labels:  ssl
Manuale
A fully manual Let's Encrypt/ACME client
Stars: ✭ 201 (-16.25%)
Mutual labels:  ssl
Ssl exporter
Exports Prometheus metrics for SSL certificates
Stars: ✭ 211 (-12.08%)
Mutual labels:  ssl
Triple Gan
See Triple-GAN-V2 in PyTorch: https://github.com/taufikxu/Triple-GAN
Stars: ✭ 203 (-15.42%)
Mutual labels:  semi-supervised-learning
Adversarial Autoencoders
Tensorflow implementation of Adversarial Autoencoders
Stars: ✭ 215 (-10.42%)
Mutual labels:  semi-supervised-learning
Mitigating Obsolete Tls
Guidance for mitigating obsolete Transport Layer Security configurations. #nsacyber
Stars: ✭ 199 (-17.08%)
Mutual labels:  ssl
Mqttclient
A high-performance, high-stability, cross-platform MQTT client, developed based on the socket API, can be used on embedded devices (FreeRTOS / LiteOS / RT-Thread / TencentOS tiny), Linux, Windows, Mac, with a very concise The API interface realizes the quality of service of QOS2 with very few resources, and seamlessly connects the mbedtls encryption library.
Stars: ✭ 234 (-2.5%)
Mutual labels:  ssl
Android Upload Service
Easily upload files (Multipart/Binary/FTP out of the box) in the background with progress notification. Support for persistent upload requests, customizations and custom plugins.
Stars: ✭ 2,593 (+980.42%)
Mutual labels:  ssl
Terraform Provider Acme Old
ACME (Let's Encrypt) Support for Terraform
Stars: ✭ 211 (-12.08%)
Mutual labels:  ssl
Python Mocket
a socket mock framework - for all kinds of socket animals, web-clients included
Stars: ✭ 209 (-12.92%)
Mutual labels:  ssl
Gmssl
支持国密SM2/SM3/SM4/SM9/ZUC/SSL的OpenSSL分支
Stars: ✭ 2,747 (+1044.58%)
Mutual labels:  ssl
Sslyze
Fast and powerful SSL/TLS scanning library.
Stars: ✭ 2,623 (+992.92%)
Mutual labels:  ssl
Asio2
Header only c++ network library, based on asio,support tcp,udp,http,websocket,rpc,ssl,icmp,serial_port.
Stars: ✭ 202 (-15.83%)
Mutual labels:  ssl
Improvedgan Pytorch
Semi-supervised GAN in "Improved Techniques for Training GANs"
Stars: ✭ 228 (-5%)
Mutual labels:  semi-supervised-learning
Graph Representation Learning
Autoencoders for Link Prediction and Semi-Supervised Node Classification (DSAA 2018)
Stars: ✭ 199 (-17.08%)
Mutual labels:  semi-supervised-learning
Watsontcp
WatsonTcp is the easiest way to build TCP-based clients and servers in C#.
Stars: ✭ 209 (-12.92%)
Mutual labels:  ssl
Bubbly
Better SSL in Nginx in 10 minutes. Configuration files and setup scripts for Certbot.
Stars: ✭ 213 (-11.25%)
Mutual labels:  ssl
Cwac Netsecurity
CWAC-NetSecurity: Simplifying Secure Internet Access
Stars: ✭ 239 (-0.42%)
Mutual labels:  ssl
Snuffy
Snuffy is a simple command line tool to inspect SSL/TLS data.
Stars: ✭ 236 (-1.67%)
Mutual labels:  ssl

Tricks of Semi-supervised Deep Leanring --Pytorch

The repository implements following semi-supervised deep learning methods:

  • PseudoLabel 2013: The Simple and Efficient Semi-Supervised Learning Method for Deep Neural Networks (ICMLW 2013)

  • PI&Tempens: Temporal Ensembling for Semi-Supervised Learning (ICLR 2017)

  • MeanTeacher: Mean Teachers are better Role Models (NIPS 2017)

  • VAT: Virtual Adversarial Training: A Regularization Method for Supervised and Semi-supervised Learning (TPAMI 2018)

  • ICT: Interpolation Consistency Training for Semi-supervised Learning (IJCAI 2019)

  • MixMatch: A Holistic Approach to Semi-Supervised Learning (NIPS 2019)

  • FixMatch: Simplifying Semi-Supervised Learning with Consistency and Confidence (2020)

This repository was created for my blog 半监督深度学习训练和实现小Tricks. Therefore the hyper-parameters are set for fair comparision, rather than performance.

The environment:

  • Ubuntu 16.04 + CUDA 9.0

  • Python 3.6.5:: Anaconda

  • PyTorch 0.4.1 and torchvision 0.2.1

To run the code:

The script run.sh includes some examples. You can try it as follow:

bash run.sh [gpu_id]

Some experimental results:

I haven't run all models in this repository. Some results of this repo. are shown in results directory. And the following results came from this repository and the old codes which this repo. built on.

The following table shows the error rates of the CIFAR10 experiment with 4000 labeled training samples. The parameter settings are the same with the examples in run.sh.

iPseudoLabel2013 ePseudoLabel2013 MeanTeacher MixMatch iFixMatch
orginal 12.31 6.24 4.26
v1 20.03 12.03 10.59 6.70 6.63
v2 15.82 10.82 9.46 6.89 6.44
iTempens eTempens PI ICT* VAT
orginal 12.16 13.20 7.29 11.36
v1 10.98 10.74 14.11 7.12 13.84
v2 13.53 10.24 12.89 6.74 12.67
eMixPseudoLabelv1 eMixPseudoLabelv2
soft 7.30 7.08
hard 7.33 7.20

Notes:

  • The MeanTeacher is the first model of the repository. So the hyper-parameters actually have been tuned for MeanTeacher.

  • My ICT is different from original one. The main difference is the unsupervised loss for unlabeled data.

  • eMixPseudoLabel is ePseudoLabel2013 with MixUp.

  • Instead of KL Divergence, my VAT uses MSE which bring more performance improvement.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].