I just finished the rough draft of my book. All 11 chapters. That's right, eleven chapters (not the planned ten). After 10 months of working on this book, I finally have a rough draft done. Also, ten months is a long time and the software (Tensorflow) has changed a bit. This means I will have to go back and update the chapters, as some functionality is changing or being depreciated. But that's what you get for writing a book about software that is still technically in beta.
I must say, some chapters were much harder than others. I should have planned for this in my time-lines. Because of this, I fell behind schedule around chapter 8. Chapter 8 and 9 were technically the hardest and required much of my time pouring through documentation and debugging.
For a few examples in the book, I had to accept that the official documentation (and other tutorials) have better and more in-depth explanations. But the publishing company really wanted me to cover those examples. I had to make some decisions on how to do this. Do I just repeat what is out there? Do I try to cover it in more depth? Do I skirt around the issue and reference better work? After some debate, I came to the following conclusion.
I will not reiterate official tutorials and documentation where it is explained better. I don't want someone to pay for a book that has information in it that is free elsewhere.
There was only one section that I reiterated code from the official software tutorials. I decided to do this because the official tutorial was really lacking on code explanations and felt kinda hand-wavy. Because of this, I referenced the official tutorial and told the readers that we will instead explore the tutorial much more in depth. For reference, this is the 'deep-dream' tutorial in chapter 8.
For another section, I decided to concentrate on preparing a different type of dataset for usage in the official tutorials. I felt this was a great way to do this because even though the official tutorials used a canned dataset, their methodology was sound.
I have been updating the github repository here: https://github.com/nfmcclure/tensorflow_cookbook. You can find the python scripts and about 50% of the scripts have accompanying documentation. Over the next month, I will be adding more documentation as well as accompanying Jupyter notebooks. Also, I'm told the editing of the book starts soon.
Overall, my journey on writing a book (so far) has been a huge learning experience and an even bigger time drain. I have a lot more respect for authors as well. I'm not sure that I will be so eager to write a book next time either.
Soon, I can concentrate on being social, active, and posting about something other than this time consuming book.