AlexNet is the name of a convolutional neural network, originally written with CUDA to run with GPU support, which competed in the ImageNet Large Scale Visual Recognition Challenge in 2012. The network achieved a top-5 error of 15.3%, more than 10.8 percentage points ahead of the runner up. AlexNet was designed by the SuperVision group, consisting of Alex Krizhevsky, Geoffrey Hinton, and Ilya Sutskever. -wikipedia
The neural network, which has 60 million parameters and 650,000 neurons, consists of five convolutional layers, some of which are followed by max-pooling layers, and three fully-connected layers with a final 1000-way softmax. To make training faster, we used non-saturating neurons and a very efficient GPU implementation of the convolution operation. To reduce overfitting in the fully-connected layers we employed a recently-developed regularization method called “dropout” that proved to be very effective.
batch normaliztionis decreasing technical skill,Gradient Vanishing & Gradient Exploding
- tensorflow-gpu (ver.1.3.1)
- cv2 (ver.3.3.0)
- numpy (ver 1.13.3)
- scipy (ver 0.19.1)
- Download the image file from the link below.(LSVRC2012 train,val,test,Development kit (Task 1))
- untar.(There is a script in
etc
) - Modify
IMAGENET_PATH
in train.py hyperparameter(maybe you need).
python3 train.py
python3 train.py -resume
python3 test.py
python classify.py image
tensorboard --logdir path/to/summary/train/
- ~~apply another optimizer ~~
- ~~apply tensorboard ~~
Fit to a GPUApplication of the technique to the paper- Eliminate bottlenecks
ILSVRC 2012 training set folder should be srtuctured like this:
ILSVRC2012_img_train
|_n01440764
|_n01443537
|_n01484850
|_n01491361
|_ ...
download LSVRC 2012 image data file
If you do not want to see the log at startup
train.py line 97, remove allow_soft_placement=True, log_device_placement=True