There are four folders correspond to the four tasks in the assignment.
In the folder Task A1, the file named gender_svm+pca is a method using PCA+SVM with not very satisfactory result, so in the end, I used the file named gender_svm+dlib+test_final as the final method and tested in the separately test dataset, the file landmarks.py is used as face feature extraction file for training, and the file landmarks_test is used for face feature extraction file for testing.
In the folder Task A2, the file named smiling_CNN_not final.ipynb is a method using CNN with not very satisfactory result, the file csv&txt is used to precess .csv file in this method, but in the end, I used smiling_svm+dlib+test_final as the method for task A2, the file landmarks.py is used as face feature extraction file for training and the file landmarks_test is used for face feature extraction file for testing. Additionally, the file named smiling recognition visualization.ipynb is used for visualization of CNN layers.
In the folde Task B1, the file named face_shape.ipynb is the final CNN mathod used in task B1 with test result on the separate test dataset, while the file face_shape.h5 is the saved trained model.
In the folder Task B2, the file named eye_color.ipynb is the final CNN method used in task B2 with test result on the separate test dataset, I also wated to upload the corresponding .h5 file as the saved model, but Github said that the file is too big to upload.
The additional files put of the four folders are different methods I tried during the assignment as "the GitHub commit history evidencing how you gradually built and tested your solution" asked in the description file.
The link of "face_shape.h5" is https://drive.google.com/file/d/1fnDFh296pIxpCcsr7WW-AMC_tFK4LZSO/view?usp=sharing The link of "eye_color.h5" is https://drive.google.com/file/d/1Bg6ENJ_DkBr1xOBnatzdggnZYxGFmy47/view?usp=sharing