Image classification using convolutional neural networks


If you’re interested in high-performing image classification methodology, this developer code pattern is for you. We use Python Keras libraries in Jupyter Notebook, then create a machine-learning model using data fed into IBM Cloud Object Storage, which classifies the images.


Many organizations process documents like customer loan applications. Along with the application forms, customers provide supporting documents needed for processing applications. Some of these supporting documents could be for identity or address verification. Generally, application forms, along with supporting documents, are scanned and captured into the organization’s systems for further application processing. When the system is fed a set of scanned documents, it needs to identify the form document so it can further process it. This code pattern shows how to classify images and identify application form documents among them.

We have considered applications for purchase agreements and rental agreements. Typical documents often submitted for these are Permanent Account Number (PAN) cards, driver’s licenses, passports, and the application forms themselves. This code pattern identifies the application form document from all the other types of documents.

We will use Python, Jupyter Notebook, convolutional neural networks in Keras libraries, and IBM Cloud Object Storage.



  1. User uploads test images to IBM Cloud Object Storage.
  2. User adds IBM Cloud Object Storage credentials, in Jupyter notebook, for the test images uploaded. User runs the notebook.
  3. Jupyter Notebook pulls images from IBM Cloud Object Storage and classifies them using trained machine-learning model.


Please see the README for detailed instructions.