Skip to content

chenchunlai/tinyms

 
 

Repository files navigation

TinyMS logo

TinyMS

Pypi Python Downloads Build Status Documentation Status Releases LICENSE PRs Welcome

English | 查看中文

TinyMS is an Easy-to-Use deep learning framework development toolkit based on MindSpore, designed to provide quick-start guidelines for machine learning beginners.

TinyMS Architecture

Installation

Please checkout the install document to quickly install or upgrade TinyMS project.

Quick start

Have no idea what to do with TinyMS❓ See the Quick Start to implement the image classification application in one minutes❗

Besides, here are some use cases listed to demonstrate how TinyMS simplifies the code flow for users.

Data loading and preprocess

from tinyms.data import MnistDataset, download_dataset
from tinyms.vision import mnist_transform

data_path = download_dataset('mnist')
mnist_ds = MnistDataset(data_path, shuffle=True)
mnist_ds = mnist_transform.apply_ds(mnist_ds)

Network construction

from tinyms.model import lenet5

net = lenet5(class_num=10)

Model train/evaluation

from tinyms.model import Model

model = Model(net)
model.compile(loss_fn=net_loss, optimizer=net_opt, metrics=net_metrics)
model.train(epoch_size, train_dataset)
model.save_checkpoint('./checkpoint_lenet.ckpt')
···
model.load_checkpoint('./checkpoint_lenet.ckpt')
model.eval(eval_dataset)

Model prediction

from PIL import Image
import tinyms as ts
from tinyms.model import Model, lenet5
from tinyms.vision import mnist_transform

img = Image.open(img_path)
img = mnist_transform(img)

net = lenet5(class_num=10)
model = Model(net)
model.load_checkpoint('./checkpoint_lenet.ckpt')

input = ts.expand_dims(ts.array(img), 0)
res = model.predict(input).asnumpy()
print("The label is:", mnist_transform.postprocess(res))

API documentation

If you are interested in learning TinyMS API, please find TinyMS Python API in API Documentation.

Tutorial

For a more detailed step-by-step video tutorial, please refer to the following website.

Community

For any developers who are not familiar with how TinyMS community works, please find the Contributing Guidelines to get started.

Release Notes

The release notes, see our RELEASE.

License

Apache License 2.0

About

Easy-to-Use deep learning development toolkit.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Python 99.8%
  • Dockerfile 0.2%