Closed Aakash-kaushik closed 3 years ago
Just to see if I get this right, so this means that we would put the hpp, _impl.hpp
files directly into https://github.com/mlpack/models/tree/master/models instead of having them in another folder?
Just to see if I get this right, so this means that we would put the
hpp, _impl.hpp
files directly into https://github.com/mlpack/models/tree/master/models instead of having them in another folder?
Yes
This was intentional, To do two things :
Possibility of improvement :
Also, we there is a possibility that we build common helper function that will be shared by models of similar type. So we can eventually transition to #include <models/computer_vision/yolo.hpp>
to minimize code duplicity as models are added. I feel this will be a better approach to reduce clutter in terms of code and files.
Example : Similar blocks are shared by Darknet and Yolo models, They might also be shared some other models say resnet.hpp, so rather than having them inside darknet.hpp and resnet.hpp, we can have a ComputerVisionModelsHelper (or something), that will be a friend class to these models, and the models can use the above class to add blocks. This also prevents unnecessary exposure of functions. So directory will look like :
models
- computer_vision
- computer_vision_model_helper.hpp
- Other models
@kartikdutt18 So what i understand is that if you want to have a file like computer_vision_helper.hpp
it would be hard to implement something like that afterwards? and should be kept in mind whenver a model is implemented.
Though I am a lot more clueless here than what i started with.
This issue has been automatically marked as stale because it has not had any recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions! :+1:
This issue has been automatically marked as stale because it has not had any recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions! :+1:
There are two things i would like to talk about.
This means that when a user wants to use say models if it was installed which we don't have right now someone would need to write
I propose to change the structure to something like this:
so the importing for the user becomes something like