• Stars
    star
    506
  • Rank 86,616 (Top 2 %)
  • Language
    Python
  • License
    Other
  • Created almost 3 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

TensorLayerX: A Unified Deep Learning and Reinforcement Learning Framework for All Hardwares, Backends and OS.

GitHub last commit (branch) Documentation Status Build Status Downloads Downloads Docker Pulls

TensorLayerX is a multi-backend AI framework, supports TensorFlow, Pytorch, MindSpore, PaddlePaddle, OneFlow and Jittor as the backends, allowing users to run the code on different hardware like Nvidia-GPU, Huawei-Ascend, Cambricon and more. This project is maintained by researchers from Peking University, Imperial College London, Princeton, Stanford, Tsinghua, Edinburgh and Peng Cheng Lab.

Deep Learning course

We have video courses for deep learning, with example codes based on TensorLayerX.
Bilibili link (chinese)

Design Features

  • Compatibility: Support worldwide frameworks and AI chips, enabling one code runs on all platforms.

  • Model Zoo: Provide a series of applications containing classic and SOTA models, covering CV, NLP, RL and other fields.

  • Deployment: Support ONNX protocol, model export, import and deployment.

Multi-backend Design

You can immediately use TensorLayerX to define a model via Pytorch-stype, and switch to any backends easily.

import os
os.environ['TL_BACKEND'] = 'tensorflow' # modify this line, switch to any backends easily!
#os.environ['TL_BACKEND'] = 'mindspore'
#os.environ['TL_BACKEND'] = 'paddle'
#os.environ['TL_BACKEND'] = 'torch'
import tensorlayerx as tlx
from tensorlayerx.nn import Module
from tensorlayerx.nn import Linear
class CustomModel(Module):

  def __init__(self):
      super(CustomModel, self).__init__()

      self.linear1 = Linear(out_features=800, act=tlx.ReLU, in_features=784)
      self.linear2 = Linear(out_features=800, act=tlx.ReLU, in_features=800)
      self.linear3 = Linear(out_features=10, act=None, in_features=800)

  def forward(self, x, foo=False):
      z = self.linear1(x)
      z = self.linear2(z)
      out = self.linear3(z)
      if foo:
          out = tlx.softmax(out)
      return out

MLP = CustomModel()
MLP.set_eval()

Quick Start

Get started with TensorLayerX quickly using the following examples:

  • MNIST Digit Recognition: Train a simple multi-layer perceptron (MLP) model for digit recognition using the MNIST dataset. Choose between a simple training method or custom loops. See the examples: mnist_mlp_simple_train.py and mnist_mlp_custom_train.py.

  • CIFAR-10 Dataflow: Learn how to create datasets, process images, and load data through DataLoader using the CIFAR-10 dataset. See the example: cifar10_cnn.py.

  • MNIST GAN Training: Train a generative adversarial network (GAN) on the MNIST dataset. See the example: mnist_gan.py.

  • MNIST Mix Programming: Mix TensorLayerX code with other deep learning libraries such as TensorFlow, PyTorch, Paddle, and MindSpore to run on the MNIST dataset. See the example: mnist_mlp_mix_programming.py.

Resources

  • Examples for tutorials
  • GammaGL is series of graph learning algorithm
  • TLXZoo a series of pretrained backbones
  • TLXCV a series of Computer Vision applications
  • TLXNLP a series of Natural Language Processing applications
  • TLX2ONNX ONNX model exporter for TensorLayerX.
  • Paddle2TLX model code converter from PaddlePaddle to TensorLayerX.

More official resources can be found here

Installation

  • The latest TensorLayerX compatible with the following backend version
TensorLayerX TensorFlow MindSpore PaddlePaddle PyTorch OneFlow Jittor
v0.5.8 v2.4.0 v1.8.1 v2.2.0 v1.10.0 -- --
v0.5.7 v2.0.0 v1.6.1 v2.0.2 v1.10.0 -- --
  • via pip for the stable version
# install from pypi
pip3 install tensorlayerx 
  • build from source for the latest version (for advanced users)
# install from Github
pip3 install git+https://github.com/tensorlayer/tensorlayerx.git 

For more installation instructions, please refer to Installtion

  • via docker

Docker is an open source application container engine. In the TensorLayerX Docker Repository, different versions of TensorLayerX have been installed in docker images.

# pull from docker hub
docker pull tensorlayer/tensorlayerx:tagname

Contributing

Join our community as a code contributor, find out more in our Help wanted list and Contributing guide!

Getting Involved

We suggest users to report bugs using Github issues. Users can also discuss how to use TensorLayerX in the following slack channel.


Contact

Citation

If you find TensorLayerX useful for your project, please cite the following papers:

@inproceedings{tensorlayer2021,
  title={TensorLayer 3.0: A Deep Learning Library Compatible With Multiple Backends},
  author={Lai, Cheng and Han, Jiarong and Dong, Hao},
  booktitle={2021 IEEE International Conference on Multimedia \& Expo Workshops (ICMEW)},
  pages={1--3},
  year={2021},
  organization={IEEE}
}
@article{tensorlayer2017,
    author  = {Dong, Hao and Supratak, Akara and Mai, Luo and Liu, Fangde and Oehmichen, Axel and Yu, Simiao and Guo, Yike},
    journal = {ACM Multimedia},
    title   = {{TensorLayer: A Versatile Library for Efficient Deep Learning Development}},
    url     = {http://tensorlayer.org},
    year    = {2017}
} 

More Repositories

1

TensorLayer

Deep Learning and Reinforcement Learning Library for Scientists and Engineers
Python
7,318
star
2

SRGAN

Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network
Python
3,264
star
3

HyperPose

Library for Fast and Flexible Human Pose Estimation
Python
1,248
star
4

seq2seq-chatbot

Chatbot in 200 lines of code using TensorLayer
Python
836
star
5

RLzoo

A Comprehensive Reinforcement Learning Zoo for Simple Usage 🚀
Python
621
star
6

text-antispam

商用级垃圾文本分类器
Python
401
star
7

tensorlayer-chinese

TensorLayer 中文文档
361
star
8

DCGAN

The Simplest DCGAN Implementation
Python
336
star
9

awesome-tensorlayer

A curated list of dedicated resources and applications
266
star
10

DAGAN

The implementation code for "DAGAN: Deep De-Aliasing Generative Adversarial Networks for Fast Compressed Sensing MRI Reconstruction"
Python
167
star
11

chinese-book

《深度学习:一起玩转TensorLayer》资源分享、讨论
140
star
12

adaptive-style-transfer

Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization
Python
113
star
13

pretrained-models

76
star
14

TLXZoo

Pre-trained backbones for TensorLayerX
Python
33
star
15

HaoDong_aicourse2023_codes

Python
26
star
16

TLX2ONNX

ONNX Model Exporter for TensorLayerX
Python
21
star
17

cyclegan

CycleGAN in 300 lines of code
Python
20
star
18

TLXCV

A Platform-agnostic Computer Vision Application Library
Python
11
star
19

Paddle2TLX

Transfer PaddlePaddle's codes to TensorLayerX's codes
Python
11
star
20

TLXNLP

A Platform-agnostic Natural Language Processing Application Library
3
star
21

fMRI-deep-image-reconstruction

fMRI deep image reconstruction
Python
2
star
22

arcface-tlx

2
star
23

tlxvision

Computer vision algorithms implemented in TensorLayerX
Python
1
star