Skip to content

h137437/image_classification_keras

Repository files navigation

image_classification_keras

  • Multi image label classification by multi models in keras.
  • Copied from tslgithub/image_class and add new models.

support these models:ResNet18、ResNet34、ResNet50、ResNet101、ResNet152、VGG16、VGG19、InceptionV3、Xception、MobileNet、AlexNet、LeNet、ZF_Net、DenseNet、mnist_net、TSL16、InceptionResNetV2、Shufflenet、NASNet、EfficientNet,choose model in 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
  • InceptionResNetV2
  • Shufflenet
  • NASNet
  • EfficientNet

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
  • pip3 install segmentation_models
  • pip3 install keras_efficientnets

Conclusion

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