/image_class

基于keras集成多种图像分类模型: VGG16、VGG19、InceptionV3、Xception、MobileNet、AlexNet、LeNet、ZF_Net、ResNet18、ResNet34、ResNet50、ResNet_101、ResNet_152、DenseNet

Primary LanguagePython

图像分类集成以下模型:ResNet18、ResNet34、ResNet50、ResNet101、ResNet152、VGG16、VGG19、InceptionV3、Xception、MobileNet、AlexNet、LeNet、ZF_Net、DenseNet、mnist_net、TSL16,在config.py里面选择使用哪种模型.

the project apply the following models:

  • VGG16
  • VGG19
  • InceptionV3
  • Xception
  • MobileNet
  • AlexNet
  • LeNet
  • ZF_Net
  • ResNet18
  • ResNet34
  • ResNet50
  • ResNet101
  • ResNet152
  • DenseNet(dismissed this time)
  • mnist_net
  • TSL16

train or test dataset

classes name contained in folder name

"training or testing dataset folder is:"

/path/classes1/cat*.jpg,

/path/classes2/dog*.jpg,

/path/classes3/people*.jpg,

/path/classes4/*.jpg,

  • Attentions ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  • classes name must be contained in folder name

environment

My environment is based on

  • ubuntu16
  • cuda8 (cuda9.0)
  • tensorflow_gpu1.4 (tensorflow_gpu1.10 )
  • keras2.0.8
  • numpy
  • tqdm
  • opencv-python
  • scikit-learn

Install packages

  • pip3 install tensorflow_gpu==1.4
  • pip3 install keras==2.0.8
  • pip3 install numpy
  • pip3 install tqdm
  • pip3 install opencv-python
  • pip3 install scikit-learn

1.confirm config.py

  • choose model and change parameter in config.py

2.train or test dataset prepare

  • python3 mk_class_idx.py

3.train your model

  • Train sigle model : python3 train.py modelName
  • Train All model : run " sh trainAll.sh " to train all model (in ubuntu)
  • Tensorboard : take LeNet as example, run " tensorboard --logdir=./checkpoints/LeNet " to watch training with tensorboard

4.predict your model

  • predict model: python3 predict.py modelName classesName

5.result of mnist dataset(number 0~9)

Image text

Any Questions???

Author email: mymailwith163@163.com