The Developer Experience of Using the Graph Project: A Conversation with Navneet Chandhok
Navneet Chandhok, Head of Intel's AI Product Group, recently sat down to discuss the latest developments in the Graph Project, a new initiative aimed at transforming the world of AI. As we talked about the project, it became clear that the experience of using the Graph Project is vastly different from traditional deep learning frameworks like Neon or TensorFlow.
So, how does the developer experience change when working with the graph project? According to Navneet, thinking about a neural network as a computational graph allows for optimizations to be performed in a way similar to a compiler or query planner in a database. This explicit representation of the graph enables developers to access and modify it at a node level, allowing for more composable code.
For developers who primarily use components like convolutional and pooling layers, their experience will be relatively similar. However, when developing new layers or applying custom computations, they can directly access the graph level and compose operations themselves. In many cases, this brings significant value, as not everyone applies vanilla models and layers that have already been developed for certain problem sets or data sets.
One of the key benefits of using the Graph Project is its ability to handle complex topologies with ease. Unlike traditional frameworks, which require explicit guidance on how to perform forward and backward passes during training, the graph takes care of much of this work. This makes it easier to compose models that meet specific needs, such as concatenating multiple streams of data or applying custom operations.
The Graph Project is still in its early stages, but it's clear that the community is already making significant contributions. Navneet encouraged listeners to check out the project's GitHub page and blog posts for more information on how to use it and get started with pre-trained models. The project also welcomes external contributions, so if you see a feature that you like but is missing, don't hesitate to contribute.
In conclusion, the Graph Project represents a significant shift in the way developers approach deep learning frameworks. By thinking about neural networks as computational graphs, developers can access and modify the graph at a node level, allowing for more composable code and easier handling of complex topologies. With its early-stage contributions and welcoming community, this project is sure to be an exciting development in the world of AI.
Getting Started with the Graph Project
Want to learn more about the Graph Project? Navneet recommends checking out the GitHub page, which hosts the latest commits and provides a wealth of information on how to use the framework. Additionally, Intel has released several blog posts that introduce the project itself and provide links to pre-trained models that you can easily get started with.
Intel also offers a model zoo, where you can find many pre-trained models that have been developed using the Graph Project. This is an excellent resource for developers who want to try out different architectures or techniques without having to develop them from scratch.
Contributing to the Graph Project
The Graph Project is still in its early stages, but it's clear that the community is already making significant contributions. If you see a feature that you like but is missing, don't hesitate to contribute. The project welcomes external contributions and encourages developers to share their ideas and feedback.
To get started with contributing, you can begin by checking out the GitHub page and reading through the documentation and guides provided. Once you have a better understanding of how the framework works, you can start exploring the issues list and proposing new features or bug fixes.
Conclusion
As we wrapped up our conversation with Navneet, it became clear that the Graph Project represents a significant shift in the way developers approach deep learning frameworks. By thinking about neural networks as computational graphs, developers can access and modify the graph at a node level, allowing for more composable code and easier handling of complex topologies.
With its early-stage contributions and welcoming community, this project is sure to be an exciting development in the world of AI. Whether you're a seasoned developer or just starting out, the Graph Project offers a wealth of resources and opportunities for growth. So why not get started today and see what you can build?