This repo provide a wafer-inseption pototype include all tensorflow profiler tools.(tensorboard, timeline)
PS. Loging hardware message by timline cause huge overhead, pls turn it off if you don't need it.
You can also use NVprofiler(.nvvp) to moniter your model performance without overhead.
You can easiely import an other neural network to your application by modify model_zoo
.
The coding style is friendly for beginer.
run under: python 2.7 in tensorflow1.4 cudnn6.1 cuda8.0
Few folder for log info. you need to build.
mkdir -p logs/train/meta
mkdir -p logs/train/tfbord
mkdir -p logs/train/timeline
mkdir -p logs/test/tfbord
mkdir -p logs/test/timeline
Execute pkl2tfrecord.py
in dataset
to build dataset, or use the sub dataset We provide in this repo
Execute model_train.py
to start training. But make sure your dataset is place on the right TRRECORD_PATH
Execute model_restore_wafer.py
can get the trained model to do the final test.
if you need full dataset:
You can download dataset here: https://www.kaggle.com/qingyi/wm811k-wafer-map
In the link, is a .pkl
file.
We provide a pkl2tfrecord.py
script in dataset
After turn dataset into tfrecord, you can start your training.
use chrome forchrome://tracing
, load file logs/test/timeline
use cmd in logs/test/tfbord
tensorboard --logdir=./
use browser goto localhost:6006
nvprof [-f] -o ./logs/nvvp/name.nvvp python model_train.py
#accuracy up to 97%
`
70000 training data 10w testing data
resnet 50 epec
train accuracy: 0.9894
test accuracy: 0.948283950617
wnet 82 epec
train accuracy: 0.9977
test accuracy: 0.973216049383
inception_v4
train accuracy: 0.9937
test accuracy: 0.975475308642
`