January 28, 2021 By Vidyasagar Machupalli 2 min read

Learn about IBM Cloud™ Code Engine by deploying an image classification application with pre-defined MobileNet TensorFlow.js model.

In my previous post, “Text Analysis with IBM Cloud Code Engine” you learned how to create an IBM Cloud™ Code Engine project, select the project and deploy Code Engine entities — applications and jobs to the project. You also learned how to bind IBM Cloud services (e.g., IBM Cloud Object Storage and Natural Language Understanding) to your Code Engine entities to analyze your text files uploaded to Cloud Object Storage.

In this post, you will deploy an image classification application, upload images to IBM Cloud Object Storage and then classify the uploaded images using a pre-defined MobileNet Tensorflow.js model without any training. The images are classified with labels from the ImageNet database.

Clone the repository

On your machine, launch a terminal or command prompt and run the below commands to clone the GitHub repository and then move it to the cloned repo folder:

git clone https://github.com/VidyasagarMSC/image-classification-code-engine
cd image-classification-code-engine

Build the container images

Before building and pushing your container images, plan your image registry:

  1. If you plan to use a private container registry like IBM Cloud Container Container Registry, follow the steps here to add access to a private registry.
  2. If you plan to use public Docker Hub, run the below command to build and push three container images — frontend, backend and backend-job respectively. Replace <DOCKER_ACCOUNT_NAME> with your own Docker account name: ./deploy.sh <DOCKER_ACCOUNT_NAME>.
  3. If you don’t wish to build your own container images, you can use the pre-built container images — vidyasagarmsc/*. For example: docker pull vidyasagarmsc/frontend.

Use the container images with the solution tutorial

Follow the steps in the solution tutorial and use this code sample to learn about IBM Cloud Code Engine by deploying an image classification application.

Use the container images built from this code sample. Replace ibmcom/* with <ACCOUNT_NAME>/*.

Instead of uploading a text file, upload an image (.jpeg, .png) to COS. For sample images, check the images folder in this repo.

The result

You can find the sample images to test the classification under the output folder of the repository:

Questions and feedback

If you have feedback, suggestions or questions about this post, please reach out to me on Twitter (@VidyasagarMSC) or use the feedback button on the tutorial to report a problem on its content. You can also open issues

The tutorials section has a feedback form on the side where you can comment on the content. If you have suggestions on the existing tutorials or ideas for future additions, please submit your feedback.

Was this article helpful?
YesNo

More from Cloud

Top 6 innovations from the IBM – AWS GenAI Hackathon

5 min read - Generative AI innovations can transform industries. Eight client teams collaborated with IBM® and AWS this spring to develop generative AI prototypes to address real-world business challenges in the public sector, financial services, energy, healthcare and other industries. Over the course of several weeks, cross-functional teams comprising client teams, IBM and AWS representatives worked to design, develop and iterate on prototypes that push the boundaries of what's possible with generative AI. IBM used design thinking and user-centric approach to guide the…

IBM + AWS: Transforming Software Development Lifecycle (SDLC) with generative AI

7 min read - Generative AI is not only changing the way applications are built, but the way they are envisioned, designed, tested, documented, and deployed. It’s also revolutionizing the software development lifecycle (SDLC). IBM and AWS are infusing Amazon Bedrock generative AI capabilities into the IBM® SDLC solution to drive increased efficiency, speed, quality and value in every application lifecycle consistently and at scale. The evolution of the SDLC landscape The software development lifecycle has undergone several silent revolutions in recent decades. The…

How digital solutions increase efficiency in warehouse management

3 min read - In the evolving landscape of modern business, the significance of robust operational and maintenance systems cannot be overstated. Efficient warehouse management helps businesses to operate seamlessly, ensure precision and drive productivity to new heights. In our increasingly digital world, bar coding stands out as a cornerstone technology, revolutionizing warehouses by enabling meticulous data tracking and streamlined workflows. With this knowledge, A3J Group is focused on using IBM® Maximo® Application Suite and the Red Hat® Marketplace to help bring inventory solutions…

IBM Newsletters

Get our newsletters and topic updates that deliver the latest thought leadership and insights on emerging trends.
Subscribe now More newsletters