Skynet w/ Raspberry Pi: TensorFlow

This is the sixth part in a multiple part series on adding some object detection to my Raspberry Pi.

Part 1: Introduction
Part 2: SD Card Setup
Part 3: Pi Install
Part 4: Software
Part 5: Raspberry Pi Camera
Part 6: Installing TensorFlow
Part 7: MobileNetV2
Part 8: Conclusion

Introduction

In this section I will go through the issues that I had while trying to install TFv2. It all comes down to the version of pip NOT recognizing the manylinux2010 tag that comes with TFv2.

Limitations

The issue comes up because TF requires pip version 19 or above so that it will recognize the manylinux20010 tag that is on the wheel download.

PIP

Manually trying to install the latest (20) version of pip causes all sorts of issues as mentioned here.

I was lucky enough to find this post about being able to upgrade pip in a virtual environment. So, that is what I did.

Virtual Environment

  • Created the virtual environment: python3 -m venv /home/pi/venv
  • Activated the environment: source /home/pi/venv/bin/activate
  • Checked pip to see that I was still on version 18: pip --version
  • Upgraded to the latest version: pip install --upgrade pip

And…. it still didn’t find it. So, I went to PyPi and downloaded the cp37 whl file and renamed it from ‘manylinux2010’ to ‘manylinux1’ which IS supported.

Still didn’t work. It turns out TF isn’t build for the ARM processors yet.

ARM TensorFlow

Since I needed to find a TF install I reached out and Leigh came to the rescue. She had a repo that she forked that had a whl file I could use. I downloaded that file and then ran an install off of it.

After all of the my next issue was the error 'load_weights' requires h5py when loading weights from HDF5.

H5PY

To solve my current issue I needed to go to the PIWheel site and install from there.

Conclusion

This project has gotten a little larger than I thought. I will continue to work through some errors and hopefully get something up and running.

Code: https://github.com/ehennis/Blog/tree/master/ImageDetection

7 thoughts on “Skynet w/ Raspberry Pi: TensorFlow”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s