This article is a summary of errors that took a long time to resolve when learning YOLO on Google Colab. Many of them are rudimentary, but I hope you can overlook them.
./src/utils.c:256: error: Assertion `0' failed
There seem to be various causes, but in my case it was because the line feed code of the .data file was CRLF.
It was cured by changing to LF with a text editor.
It took a long time to identify because there was no error when running in the Windows environment at hand.
STB Reason: can't fopen
Cannot load image "data/images/xxx.jpg
The cause was that the line feed code of train.txt and test.txt was CRLF.
I used this procss.py to sort the training / test data. , It seems that it becomes CRLF without permission when it is executed on Windows, so I had to modify it a little.
As you can see, it seems good to specify the line feed code with newline when opening the file.
file_train = open(path_data + 'train.txt', 'w',newline="\n")
file_test = open(path_data + 'test.txt', 'w',newline="\n")
Reference: The line feed code of the Python output file executed on Windows changes
/bin/bash: line 1: 761 Killed
The numbers change from time to time. By analogy with the solution, it seems to be an Out of memory error.
YOLO processes the number of batch / subdivision specified in .cfg at a time (which is not accurate here), so for example, in the case of batch 64 subdivision 16, it processes 4 at a time. However, due to GPU performance etc., memory is insufficient and an error occurs. In this case, the value of subdivison should be increased sequentially.
I finally got it running on batch 64 subdivison 64 and it no longer gives an error.
Since it becomes a trade-off with the processing speed, it is necessary to adjust the value appropriately according to the data set.