Quantum computing has come a long way in the past decade, and the infamous “It’ll be ready in 5–10 years” might actually be true this time. While the hardware teams continue to make compounding progress, there is a growing need for greater tooling and quantum libraries.Even the term “quantum software engineer” didn’t even exist a decade ago!
If you’re a software engineer looking to get into the field, now is a great time to start learning and developing your skills. It will likely pay dividends for you in a couple of years.
That being said, lets get started.
During development, we’ve received user feedback that the
TensorNetwork object in the tensornetwork library was more of a burden than helpful, and we have decided to remove it in favor of a “free node” design. Upgrading your code is fairly straight forward, and in many cases makes your code much cleaner than before.
If you are just doing simple network creation and contraction, you can likely just upgrade your code with a simple find-and-replace. Here we have a very basic example.
Here is what your old code would look like.
Here is what your new code would…
One of the difficulties with writing tensorflow code is making sure all operations have the right tensor shape, especially when trying to include a batch dimension on the input data. A lot of the times, it’s actually much easier to write your functionality for a single element than it is to deal with a batch axis for every operation.
So I got a lot of positive feedback on my last post on how to unit test machine learning code. A few people actually messaged me directly saying they caught a bug in their own code with the recommended tests, which is awesome! But these issues are still too common, and it is just as easy to forget to write a test as it is to write the bug in the first place. We need a better, more automated solution.
That is why we are introducing mltest: Automated ML testing in one function call.
Check it out!
Edit: The popularity of this post has inspired me to write a machine learning test library. Go check it out!
Over the past year, I’ve spent most of my working time doing deep learning research and internships. And a lot of that year was making very big mistakes that helped me learn not just about ML, but about how to engineer these systems correctly and soundly. …