E

Easy Deep Learning

Finetune a vision model with zero code.

The problem Easy Deep Learning solves

AI’s Pretty Cool But…

Even when companies have the financial needs to acquire AI talent, these professionals are very hard to retain since they are in such high demand. If only there was a way to allow non-technical people who know their business best to benefit from the most cutting-edge technology.

Data is Hard to Get

Finding large enough data sets to effectively fine tune models can be tough, especially when trying to record rare occurrences. For example, how can you get a large picture dataset of an endangered species in order to train a model to look for it in the wild if the animal is so scarce?

Ok So What Did We Build?

Our platform allows anyone to upload images and tune their choice of an image classification model. Also, the input dataset is not a concern anymore! We use transformations and Stable Diffusion to augment the input data.

Here’s how it works: users upload photos and are guided through a process where they categorize the images. This will help the model differentiate between each image category especially when it sees an image not in the training set. Next, we use Stable Diffusion to generate images that are similar to the ones the user uploaded, enlarging the test set and enabling the creation of a precise model with minimal data. Subsequently the user will pick a model, and transformations will be applied to the images, further expanding the training set. We fine tuned vgg16 by cutting the model in half and adding layers trained on our data. For the vision transformer, we added an additional output layer. Once the model is trained, the user can deploy it and test it with new images.

Using our platform we trained two separate models to recognize flooded neighborhoods in Pakistan from a drone’s perspective and uploaded it to Hugging Face. Our training set was only 16 images (and many more synthetic and transformed images derived from the first 16) yet our models were almost completely accurate!

Challenges we ran into

Challenges (And How We Tackled Them)

None of us had tried a project this ambitious. It was incredibly difficult to plan out the architecture and ensure that everything worked properly with Intel Developer Cloud, especially since none of us had used that platform before. We divided up tasks and worked together as a group so that we could bounce ideas off of one another. Additionally, we tried to spend as much time as possible planning out each step so that we wouldn’t waste time and resources coding something that might not be implemented.

How We Did It

Lots of Time Planning

When the challenge started, we spent the first night brainstorming and talking to sponsors to get ideas. After speaking with some experts in the Intel booth, and researching problems online, we landed on the idea to create this platform. From there, we planned out the architecture and desired features so that we would be able to finish the project in time.

Prioritization

As we progressed, we constantly reevaluated which features were most important to us and where we should focus our effort since the project could easily take more than the time allotted. Taking these critical looks at what to cut and include helped us stay on task and to deliver a polished product.

Discussion