Step 1: Load the pre-trained DenseNet. |
Step 2: Modify the pre-trained DenseNet. |
Step 2.1 Remove softmax and classification layer from the pre-trainedDenseNet. |
Step 2.2 Add FC128, ReLU, BN, FC2, softmax, and classification layer. |
Step 3: Divide the dataset into five groups of the same size and set i=1 |
Step 4: Use the i-th group as the test set, and all the other groups form the training set. |
Step 5: Fine-tune the modified DenseNet. |
Step 5.1: Input is the training set. |
Step 5.2: Target is the corresponding label. |
Step 6: Replace the last five layers of the fine-tuned DenseNet with SNN. |
Step 7: Extract features F as the output of the FC128 layer. |
Step 8: Train the classifier of the DSNN on the extracted features F and the labels. |
Step 8.1: Input is the extracted features. |
Step 8.2: The target is the label of the training set. |
Step 8.3: SNN is the classifier of the DSNN. |
Step 9: Test the trained DSNN on the test set. |
Step 10: Report the test classification performance of the trained DSNN. |
Step 11: Set i= i + 1, if i < 6, go to Step 4. |
Step 12: Average test classification performance. |