Continuing on my open source journey, this week I handled looking deeper into the issues and bugs that existed in the depths of the keras and TensorFlow repositories, and managed to find a few things I was happy to begin working on. I began working on issues, some of which I found to be unfortunately taken, but nevertheless I managed to make my first pull request of 2019.
Coming Full Circle
One of my five pull requests I completed in Hacktoberfest 2018 was to the keras project. This issue that I completed was a documentation issue , further explaining the ability to change backends for keras.
What this means is that keras is capable of using any of these three as backends, but is also capable of supporting non built in external backends. This process needed to be explained how to be performed, as it required changing the json for keras to read from.
My first experience in keras had me learning about the backend, and now I have come full circle, as the pull request I completed this week was working on backends in keras.
The issue I completed was small in nature, but an effective feature to be added. In the initializer for the backend file __init__.py the code checks to see if the KERAS_HOME environment variable has been set, otherwise it sets the keras base directory to either ~ or /tmp.
The original user who opened the issue wanted for a check to performed to see if the .keras directory exists within the current directory before the base directory became set to ~ or /tmp.
This was a quick fix, and was submitted for a pull request waiting to be merged or hear back
I continued looking into one of my issues from last week, #12052 regarding the earlyStopping method. This proved to be a much larger task than anticipated, as the user wanted to know which metrics caused earlyStopping, and these metrics would require intensive analysis to determine what metric(s) from a dataset caused earlyStopping
There are a lot of potential documentation issues to fix throughout the whole project, certain open issues, but just the structure of the documentation is messy. This a large undertaking and I think I would rather focus on mode feature and bug fixes.