1. Duration
Sunday, February 19th, 2023 - Saturday, February 25th, 2023
2. Learning Records
2.1 Fixed the Crash Error
The jupyter_core
and jupyter_client
are alright. But I found out that the Linux server runs out of memory when the macro- and micro-expression spotting experiments are in process simultaneously.
2.2 Extracted Features
Extracted micro-expression features on the SAMM Long Videos dataset.
2.3 Wrote my Paper
Wrote the Related Work part.
2.4 Fixed the Count Mismatch Problem
Due to the problematic naming in the original cropping function, not only the images' names were wrong, but also the cropped image count mismatched the original image count. I fixed the naming problem last week and fixed the mismatch count problem this week.
In addition, I tried to extract features from the video 016_7
but the machine crashed twice because of the limited RAM. Damn! Each extraction experiment cost me more than an hour, which means I wasted about three hours that afternoon.
2.5 Added New Features
Allowed assigning specific GPU to do the training. Besides, Added adjustments to restrict TensorFlow to only allocate specific memory on the GPU.
2.6 Building
Built the test dataset cropping function, training and test function. And I combined all processes in one .ipynb
file.
Moreover, I built the function for features extraction and pre-processing which could save the .pkl
file after finishing extracting and pre-processing one video.
2.7 Refactoring
Added a parameter debug_preds
to each .ipynb
file. When debug_preds
is True
, the training would not be processed and the program would load the .pkl
prediction files and execute the spotting and evaluation process.
2.8 Fixing the Model
It was when I was writing my paper and reading the vision transformer for small scall datasets that I found out the Shifted Patch Tokenization has a process called pos_embedding which I forgot to add in my SL models.
I added the pos_embedding on both the TensorFlow and PyTorch models.
2.9 Fixing the Cropping
I found that the dlib face detector could not detect the face landmark on every image of the test video. This weird situation let me reconsider whether my cropping function has some problem. Consequently, I changed the cropping scale.
The good news was everything worked fine and the bad news was I needed to crop all images again which was time-consuming.
3. Feelings
No special feelings.
Coding is more intriguing than paper work.