- Member activate (float x, ACTIVATION a)
- V3 Why were some activations missing? Was that intentional?
- Member backward_network_gpu (Darknet::Network &net, Darknet::NetworkState state)
replace qsort() unknown priority
V3 benchmark layers
V3 benchmark layers
- Member BLOCK
- What is this? See where it is used in all the .cu files.
- Member calc_anchors (char *datacfg, int num_of_clusters, int width, int height, int show)
shouldn't we check the .cfg file instead, and get the anchors, width, and height from there instead of requiring them as parms?
replace qsort() lowest priority
- Member collapse_images_horz (const Darknet::Image *ims, int n)
- COLOR
- Member cuda_debug_sync
V3 is cuda_debug_sync still necessary?
V3 is this still needed?
- Member Darknet::bgr_mat_to_rgb_image (const cv::Mat &mat)
- COLOR this function assumes 3-channel images
- Member Darknet::CfgAndState::process_arguments (const VStr &v, Darknet::NetworkPtr ptr=nullptr)
- need to fix things like the function "map" and the optional training parameter "-map" which would trigger this code
- Member Darknet::CfgFile::parse_dropout_section (const size_t section_idx)
- why read in a float and then store it in an int?
- Member Darknet::distort_image (Darknet::Image &im, float hue, float sat, float val)
- COLOR - needs to be fixed for 1 <= c <= N
- Member Darknet::draw_detections_v3 (Darknet::Image &im, const Darknet::Detection *dets, const int num, const float thresh, const Darknet::VStr &names, const int classes, const int ext_output)
replace qsort() mid priority
replace qsort() mid priority
- Member Darknet::hsv_to_rgb (Darknet::Image &im)
- COLOR - cannot do HSV if channels > 3
- Member Darknet::image_loading_loop (const int idx, load_args args)
- get rid of this busy-loop
- Member Darknet::parse_arguments (const Darknet::VStr &v)
- confirm that this works just as well on ARM
- Member Darknet::random_distort_image (Darknet::Image &im, float hue, float saturation, float exposure)
- COLOR - HSV no beuno
- Member Darknet::rgb_to_hsv (Darknet::Image &im)
- COLOR - cannot do HSV if channels > 3
- Member Darknet::save_image_jpg (const Darknet::Image &im, const char *name)
- merge with save_mat_jpg()
- Member Darknet::save_image_png (const Darknet::Image &im, const char *name)
- merge with save_mat_png()
- Member denormalize_net (char *cfgfile, char *weightfile, char *outfile)
- V3: I'm willing to bet this is supposed to be LSTM, not GRU...?
- Member diou (const Darknet::Box &a, const Darknet::Box &b)
the following IF statement always evaluated to true
due to the "|| 1"
comparison. That line was changed by AlexeyAB on 2019-11-23. Was that an accident? Should the code below never run? Or was this a debug modification that was accidentally left in the code?
due to the error (?) in the IF statmeent above, we'll never get to the code below this line!
- Member do_nms_sort_v2 (Darknet::Box *boxes, float **probs, int total, int classes, float thresh)
- replace qsort() low priority
- Member dump (Darknet::Network *net, const Darknet::CfgFile::CommonParms &parms)
- dump(tree) not implemented
- Member fill_network_boxes (Darknet::Network *net, int w, int h, float thresh, float hier, int *map, int relative, Darknet::Detection *dets, int letter)
- V3 JAZZ: most of the time is spent in this function
- Member fill_network_boxes_v3 (Darknet::Network *net, int w, int h, float thresh, float hier, int *map, int relative, Darknet::Detection *dets, int letter, Darknet::Output_Object_Cache &cache)
- This assumes that "GAUSSIAN_YOLO", "REGION", and "DETECTION" layers don't exist, which is wrong. But they only exist in much older configurations which are hopefully not used anymore? Should we deprecate these?
- Member fill_truth_detection (const char *path, int num_boxes, int truth_size, float *truth, int classes, int flip, float dx, float dy, float sx, float sy, int net_w, int net_h)
shouldn't this be x - w/2 < 0.0f? And same for other variables?
again, instead of checking for > 1, shouldn't we check x + w / 2 ?
check for y - h/2 and y + h/2?
- Member forward_contrastive_layer (Darknet::Layer &l, Darknet::NetworkState state)
- does this still apply now that classifier code has been removed?
- Member forward_cost_layer_gpu (Darknet::Layer &l, Darknet::NetworkState state)
- replace qsort() unknown priority
- Member forward_network_gpu (Darknet::Network &net, Darknet::NetworkState state)
replace qsort() low priority
V3 benchmark layers
V3 benchmark layers
in previous versions we did not CHECK_CUDA here – was that intentional?
- Member get_opencv_label (const std::string &str, const int area)
- what are the performance implications of LINE_AA over LINE_4 or LINE_8?
- Member get_pixel_kernel (float *image, int w, int h, int x, int y, int c)
- COLOR - specific RGB - HSV logic in here that won't work (well) with multispectral
- Member gradient (float x, ACTIVATION a)
- V3 why were these 3 missed?
- Member image_data_augmentation (cv::Mat mat, int w, int h, int pleft, int ptop, int swidth, int sheight, int flip, float dhue, float dsat, float dexp, int gaussian_noise, int blur, int num_boxes, int truth_size, float *truth)
- COLOR - cannot do hue in hyperspectal land
- Member load_network (const char *cfg, const char *weights, int clear)
- V3 why do we not call fuse_conv_batchnorm() here?
- Member load_network_custom (const char *cfg, const char *weights, int clear, int batch)
- V3 Some code seems to also call this next function, and some not. This was not originally called here, but I copied it from several other code locations. Need to invetigate whether or not it should be here. 2024-08-03
- Member main (int argc, char **argv)
V3 look through these and see what we no longer need
V3 "3d" seems to combine 2 images into a single alpha-blended composite. It works...but does it belong in Darknet? What is this for?
- Member make_crnn_layer (int batch, int h, int w, int c, int hidden_filters, int output_filters, int groups, int steps, int size, int stride, int dilation, int pad, ACTIVATION activation, int batch_normalize, int xnor, int train)
- V3 get rid of these unecessary xcalloc()?
- Member make_gaussian_yolo_layer (int batch, int w, int h, int n, int total, int *mask, int classes, int max_boxes)
- why!?
- Member make_network_boxes (DarknetNetworkPtr ptr, float thresh, int *num)
- V3 JAZZ: this is where we spend all our time
- Member make_network_boxes_v3 (Darknet::Network *net, const float thresh, int *num, Darknet::Output_Object_Cache &cache)
Is anything but YOLO still used as an output layer in a modern .cfg file? Should these be removed?
V3 JAZZ: 97% of this function is spent in this next line
- Member make_route_layer (int batch, int n, int *input_layers, int *input_size, int groups, int group_id)
- Valgrind tells us this is not freed in free_layer_custom()
- Member make_yolo_layer (int batch, int w, int h, int n, int total, int *mask, int classes, int max_boxes)
- Valgrind tells us this is not freed in free_layer_custom()
- Member num_detections (Darknet::Network *net, float thresh)
- V3 JAZZ: this is where we spend all our time
- Member num_detections_v3 (Darknet::Network *net, float thresh, Darknet::Output_Object_Cache &cache)
V3 JAZZ: this is where we spend all our time
Is this still used in a modern .cfg file? Should it be removed?
Is this still used in a modern .cfg file? Should it be removed?
- Member random_gen_fast (void)
- Is this really faster than using the C++11 rng? Do we gain something by keeping this?
- Member read_map (const char *filename)
the while loop reallocs the array at every iteration, this needs to be refactored!
what is this "map" file that we're reading in?
- Member run_detector (int argc, char **argv)
why only do this if ngpus > 1? Is this a bug? Should it be zero?
get rid of the old C-style filename access and use std::filesystem::path within the functions so we're not passing these around as char* parms
- Member run_nightmare (int argc, char **argv)
- Is there a memory leak here because we don't free the original im?
- Member save_mat_jpg (cv::Mat mat, const char *name)
- merge with Darknet::save_image_jpg()
- Member save_mat_png (cv::Mat mat, const char *name)
- merge with Darknet::save_image_png()
- Member SECRET_NUM
what is this?
V2 what is SECRET_NUM? And/or move to a different header.
- Member size_to_IEC_string (const size_t size)
- not thread safe
- Member TILE_M
- V3 Would be nice to know where this file came from, and to see if there are updates available.
- Member train_detector (const char *datacfg, const char *cfgfile, const char *weightfile, int *gpus, int ngpus, int clear, int dont_show, int calc_map, float thresh, float iou_thresh, int mjpeg_port, int show_imgs, int benchmark_layers, const char *chart_path)
- copy the weights...?
- Member UNUSED_ENUM_TYPE
- V3 Need to get rid of UNUSED_ENUM_TYPE. And/or move to a different header.
- Member USET
what is this?
what is this?
- Member validate_detector_map (const char *datacfg, const char *cfgfile, const char *weightfile, float thresh_calc_avg_iou, const float iou_thresh, const int map_points, int letter_box, Darknet::Network *existing_net)
I think this is TP + FN (where the object actually exists, and we either found it, or missed it)
how many cores do we have available?
would we save anything if net was passed in by reference?
- Member yolo_num_detections (const Darknet::Layer &l, float thresh)
- V3 JAZZ 2024-06-02: Why does "omp parallel" not work like I expect?