Introduction to AI Frameworks in Software Engineering

Table of Contents:

Introduction

This page will introduce the topic of Artificial Intelligence in Software Engineering, specifically, AI tools for developers to use, popular frameworks for building AI models, and the purpose of different types of AI models.

Over the last several years, AI has exploded in terms of its capabilities, and as the years continue to progress, AI will continue to improve and become more and more a part of our everyday lives.

Understanding what tools we, as people aspiring to join the technology industry, have at our disposal and what these tools can be used for is becoming increasingly important.

Being able to utilize the AI models which already exist and building your own AI models for your own purposes are both incredibly vital concepts we must understand in order to implement these tools to the best of their abilities.

Please note that the following sections are not comprehensive as there are a plethora of different AI tools, frameworks, and model types. This page will only cover the surface of these numerous concepts, focusing on what are the most popular tools, frameworks, and model types currently used by software engineers.

AI Tools for Software Engineers

AI tools are becoming increasingly popular to use by programmers as they allow programmers to finish their work at a faster pace and allow for a deeper understanding in concepts programmers may not have as much knowledge on.

Here are some of the most popular AI-based tools used by programmers today:

GitHub Copilot:

ChatGPT:

Tabnine:

Frameworks to Build Your Own Models

The AI tools described above are incredibly useful in a majority of scenarios, however, if you need a model to do a very specific task, these AI tools are not going to provide what you need.

In these cases, you can build your own AI model. It sounds incredibly difficult, and for a long time, it was an arduous task which exhausted many resources, but nowadays, you are able to use frameworks to build and train your own custimizable AI model in less than 100 lines.

Here are some of the most popular frameworks used by programmers to build AI models:

PyTorch:

TensorFlow:

Keras:

The Purpose of Different Models

Utilizing frameworks makes building custom AI models incredibly simple, however, frameworks do not tell you what kind of model you should build for your specific task.

There are so many possible types of models users can implement depending on what they are building the model for, so it is important to understand what the purpose of different models are and where each of them excel.

Before understanding which models to use, it is important to understand how AI models are trained.

There are three possible ways an AI model can be trained:

Now, we can actually discuss different types of AI models and when they are used.

Here are some of the most popular AI model types used by programmers to build AI models:

Linear Regression:

Deep Neural Networks:

Decision Trees:

Additional Resources