diff --git a/cv/classification/densenet/paddlepaddle/README.md b/cv/classification/densenet/paddlepaddle/README.md new file mode 100644 index 0000000000000000000000000000000000000000..7c4658ebdfe6ab026890535a69db4622d47602e0 --- /dev/null +++ b/cv/classification/densenet/paddlepaddle/README.md @@ -0,0 +1,55 @@ +# DenseNet +## Model description +A DenseNet is a type of convolutional neural network that utilises dense connections between layers, through Dense Blocks, where we connect all layers (with matching feature-map sizes) directly with each other. To preserve the feed-forward nature, each layer obtains additional inputs from all preceding layers and passes on its own feature-maps to all subsequent layers. + +## Step 1: Installing +```bash +git clone --recursive https://github.com/PaddlePaddle/PaddleClas.git +cd PaddleClas + +pip install urllib3==1.26.6 +pip install scikit-learn==0.21.0 +pip install opencv-python==4.6.0.66 +pip install opencv-python-headless +yum install mesa-libGL -y +pip install visualdl==2.2.0 +pip uninstall markdown +pip install easydict +``` + +Sign up and login in [ImageNet official website](https://www.image-net.org/index.php), then choose 'Download' to download the whole ImageNet dataset. Specify `/path/to/imagenet` to your ImageNet path in later training process. + +The ImageNet dataset path structure should look like: + +```bash +imagenet +├── train +│ └── n01440764 +│ ├── n01440764_10026.JPEG +│ └── ... +├── train_list.txt +├── val +│ └── n01440764 +│ ├── ILSVRC2012_val_00000293.JPEG +│ └── ... +└── val_list.txt +``` + +## Step 2: Training + +```bash +# Make sure your dataset path is the same as above +cd PaddleClas +# Link your dataset to default location +ln -s /path/to/imagenet ./dataset/ILSVRC2012 + +export FLAGS_cudnn_exhaustive_search=True +export FLAGS_cudnn_batchnorm_spatial_persistent=True + +export CUDA_VISIBLE_DEVICES=0,1,2,3 +python3 -u -m paddle.distributed.launch --gpus=0,1,2,3 tools/train.py -c ppcls/configs/ImageNet/DenseNet/DenseNet121.yaml -o Arch.pretrained=False -o Global.device=gpu +``` + +## Reference + +- [PaddleClas](https://github.com/PaddlePaddle/PaddleClas) \ No newline at end of file