k210(MaixPy) model (kmodel) example train code, include mobilenet classifier and YOLO V2 detector
You can also train on Maixhub.com,
just upload your datasets and you will get the result(kmodel and usage code)
Linux
Prepare environment, use CPU or GPU to train
At your fist time train, CPU is recommended, just
pip3 install -r requirements.txt
or use aliyun’s source if you are in China
pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
Download nncase and unzip it to tools/ncc/ncc_v0.1
, and the executable path is tools/ncc/ncc_v0.1/ncc
python3 train.py init
instance/config.py
according to your hardwaredatasets
directory has some example datasets, input size if 224x224
python3 train.py -t classifier -z datasets/test_classifier_datasets.zip train
or assign datasets directory
python3 train.py -t classifier -d datasets/test_classifier_datasets train
more command seepython3 train.py -h
and you will see output in the out
directory, packed as a zip file
python3 train.py -t detector -z datasets/test_detector_xml_format.zip train
more command seepython3 train.py -h
and you will see output in the out
directory, packed as a zip file
Use docker or install tensorflow with GPU in your local environment
Tensorflow’s version should >= 2.0, tested on 2.1
see tensorflow official website (或者可以参考这篇教程)
or
docker pull neucrack/tensorflow-gpu-py3-jupyterlab
docker pull daocloud.io/neucrack/tensorflow-gpu-py3-jupyterlab
if output is
docker run --gpus all -it --rm neucrack/tensorflow-gpu-py3-jupyterlab python -c "import tensorflow as tf; print('-----version:{}, gpu:{}, 1+2={}'.format(tf.__version__, tf.test.is_gpu_available(), tf.add(1, 2).numpy()) );"
-----version:2.1.0, gpu:True, 1+2=3
, that’s ok(maybe version can > 2.1.0
)If used daocloud, image name should be change to
docker run --gpus all --name jupyterlab-gpu -it -p 8889:8889 -e USER_NAME=$USER -e USER_ID=`id -u $USER` -e GROUP_NAME=`id -gn $USER` -e GROUP_ID=`id -g $USER` -v /home/${USER}:/tf neucrack/tensorflow-gpu-py3-jupyterlab
daocloud.io/neucrack/tensorflow-gpu-py3-jupyterlab
This will mount your/home/$USER
directory to /tf
directory of container, the /tf
is the root dir of jupyterlab
Stop by docker stop jupyterlab-gpu
, start again by docker start jupyterlab-gpu
To use sudo
command, edit user password by
docker exec -it jupyterlab_gpu /bin/bash
passwd $USER
passwd root
Open http://127.0.0.1:8889/lab?
in browser, input token(see docker start log) and set new password
Use docker stop jupyterlab-gpu
to stop server
Use docker start jupyterlab-gpu
to start service again
refer to tensorflow official website
Apache 2.0, see LICENSE