Lighter: Dependency Injection for PyTorch
Python & Machine Learning: If you ever thought that handling all those kwargs, dictionaries of config properties, or huge method parameter listings feels tedious and somewhat like a step back in the evolution of programming language, well... then this is because you are completely right! It is a step back. Prominent languages such as Java and C# have matured in the practices of decoupling components of interest through the application of Aspect-oriented programming schemes. With the Python programming language this trend somewhat got overlooked, since it seems to contradict with the pythonic way of coding. One of the most crucial components to offer well-structured project management, especially when transitioning from prototyping to large scale project structures, has gotten forgotten - namely dependency injection. With dependency injection one can ignore specifying the concrete object when connecting components in a larger scale project, but rather focus on specific parts and merging those parts with flexible and lightweight configs. Lighter offers a glimpse in this direction and shows how one can easily patch together a protype project in a well separated and manageable way. For more details and examples follow this link.