Sunday, May 10, 2020

Easy Text-to-Speech in Windows 10 Using PyWin32

Some time back, we've talked about how to build a speech recognition system in Python. Now let's look in to the other end of it: how to make a Python program that talks. More specifically, let's looks at building a text-to-speech system.

There are several libraries out there that would let you build a text-to-speech model: gTTS, tts_watson, Pyttsx, etc. But today, we'll be talking about using PyWin32 on Windows 10.

Windows 10 has a built-in speech engine, and you can access it through the PyWin32 library. As it uses the built-in system, it's quite efficient than other TTS methods on Windows, and does not require any external tools to playback the audio.

The PyWin32 library gets installed automatically if you're using Anaconda Python. If it's not installed, you can install it using either `conda install pywin32` or `pip install pywin32`.

Text-to-speech with PyWin32
Text-to-speech with PyWin32


Tuesday, April 21, 2020

Book Update: First 3 Chapters are Now Released!

I'm excited to let you know that the first 3 Chapters of my new book - Deep Learning on Windows - is now released at LeanPub!

Deep Learning on Windows
This is currently the only book focusing specifically on setting up and developing Deep Learning models on Microsoft Windows. As I mentioned in my earlier post, most of the queries and questions I have received over the past year or so were related to building deep learning models on the Windows OS, and how-to setup and troubleshoot the tools on it. There were very little material out there addressing Windows specifically.

So, this book is my answer to that.

A total of 12 chapters are planned for the book, covering topics from setting up your tools on Windows, building your first models, to some advanced topics like transfer learning, deploying your models, computer vision, generative adversarial networks, and reinforcement learning.

The book will be released in an incremental manner. The first 3 chapters are now released.
Buying the book now guarantees that you will get all the remaining content, and all future updates and revisions for free as they get released.

The price of the book will increase over time as new chapters gets added, so purchasing early gives you the best value.

Tuesday, April 7, 2020

My New Book is in the works: Deep Learning on Windows

Hope you all are staying safe!

With the lockdown and working from home from my job I've had a bit of free time these past few days. I've spent some of that time on going through the comments of the blog, and the questions and queries I have received from you readers through email and social media channels.

What I was trying to do was to identify any major areas you are struggling in, and try to come up with solutions to address those areas.

What I found was that, most of the queries were related to building deep learning models on the Windows OS, and how-to setup and troubleshoot the tools on it.

So, as a means of addressing this area, I've decided to start writing a new book, which will be named "Deep Learning on Windows".

"Working" Cover Page of the New Book
"Working" Cover Page of the New Book (cover would change in the final version)

Materials and support for setting up deep learning frameworks and building models on Windows is a little bit scarce out there. This is mainly because native support for Windows in many of the popular tools were not there until recently.

This is why I decided to write a book specifically on getting deep learning development started on Windows.

Thursday, March 19, 2020

Stay Safe During the COVID-19 Outbreak

Dear Readers of Codes of Interest,

Hope you, your family and loved ones are staying safe in these troubling times.

Being a globally impacting event, the COVID-19 pandemic has caused disruptions in many of our lives. Some more than others.

And, no doubt most of you have been forced to take a break from your daily routines and remain isolated from others.

SARS-CoV-2
SARS-CoV-2

While we all understand the importance of social distancing, the severity of the situation and the isolation is surely causing stress and uneasiness in all of us.

In order to attempt to provide a way to positively distract you from the stress, I have thought of giving away the kindle version of my book for free. Hopefully, this would allow you to have something to read and do while we wait for this pandemic to settle down.

The kindle eBook will be available via Amazon: https://www.amazon.com/dp/B07MY5Y643
It will be free until Monday, March 23, 2020, 11:59 PM PDT.

Stay safe during these troubling times

Wednesday, January 1, 2020

Fixing the KeyError: 'acc' and KeyError: 'val_acc' Errors in Keras 2.3.x

Have you been using the 'History' object returned by the fit() functions of Keras to graph or visualize the training history of your models? And have you been getting a 'KeyError' type error such as the following since recent Keras upgrade and wondering why?


Traceback (most recent call last):
  File "lenet_mnist_keras.py", line 163, in <module>
    graph_training_history(history)
  File "lenet_mnist_keras.py", line 87, in graph_training_history
    plt.plot(history.history['acc'])
KeyError: 'acc'

The KeyError: 'acc' when attempting to read the history object
The KeyError: 'acc' when attempting to read the history object


Traceback (most recent call last):
  File "lenet_mnist_keras.py", line 163, in <module>
    graph_training_history(history)
  File "lenet_mnist_keras.py", line 88, in graph_training_history
    plt.plot(history.history['val_acc'])
KeyError: 'val_acc'

The KeyError: 'val_acc' when attempting to read the history object
The KeyError: 'val_acc' when attempting to read the history object

Well, this is due to a breaking change introduced in Keras release 2.3.0.

Sunday, December 29, 2019

How to Install TensorFlow 2.0 on Anaconda (with CUDA support)

TensorFlow 2.0 has been released for a few months now. This latest version comes with many new features and improvements, such as eager execution, multi-GPU support, tighter Keras integration, and new deployment options such as TensorFlow Serving.

So, it's time we all switched to TensorFlow 2.0.

TensorFlow 2.0


The Anaconda-native TensorFlow 2.0 packages are now available in the main conda repository. So, let's see how we can install TensorFlow 2.0 on Anaconda Python. This method will work on both Windows and Linux. And, if you have a CUDA capable NVIDIA GPU, you can enable GPU support as well.

Step 1.Creating a New Conda Environment


We'll start by creating a new conda environment. (I'll name it 'tensorflow2'. You can choose another name if you like):

conda create --name tensorflow2 python=3.7 anaconda


Create a new conda environment
Create a new conda environment

Monday, December 16, 2019

How to Build and Install the Latest Version of Dlib on Anaconda on Windows

Dlib is a toolkit for C++ and Python containing machine learning algorithms and tools for creating complex software to solve real world problems. Dlib provides algorithms for machine learning/deep learning, multi-class classification and clustering models, support vector machines, regression models, a large set of numerical algorithms for areas such as matrix manipulations and linear algebra, graphical model inference algorithms, and utility algorithms for computer vision and image processing. And due to C++ implementations backing most of these implementations, they’re optimized to the point that can be used in some real-time applications as well.

If you’re interested in facial recognition models or facial emotion processing, then Dlib is a library you should definitely try out.

Dlib v19.19 in action on conda on Windows
Dlib v19.19 in action on conda on Windows

But with all the great features in Dlib, installing it has always been a little bit troublesome because of some specific dependency requirements it needs which had a habit of almost always conflicting with your other libraries. With the latest versions however, installing Dlib has become somewhat simple.

If you’re using Anaconda Python for your python experiments, like me, you’ll find that there is no native Dlib package in the native conda package list. In one of my earlier tutorials I showed how to install the Dlib conda package from the conda-forge channel in to your conda environment. The conda-force package works perfectly fine, and it’s still one of the quickest ways to install Dlib.

But if you really want the latest official package of Dlib installed (v19.19 as the latest at the time of this writing) then using the pip package is the way to go. In order to install the Dlib pip package you’ll first have to setup some dependencies.