Open source is fertile ground for transformative software, especially in cutting-edge domains like artificial intelligence (AI) and machine learning. The open source ethos and collaboration tools make it easier for teams to share code and data and build on the success of others.
This article looks at 13 open source projects that are remaking the world of AI and machine learning. Some are elaborate software packages that support new algorithms. Others are more subtly transformative. All of them are worth a look.
TensorFlow and PyTorch
Separately and together, these OG frameworks support some of the most experimental and important research in machine learning and artificial intelligence. At least a few of the projects discussed in this article use them as building blocks.
Programmers that need a bit of coding help can get it from FauxPilot. The system trains itself on existing production code and learns enough from it to make structured comments and suggestions. The project was inspired by GitHub Copilot, but FauxPilot lets you select the repositories you use for training.
This additional layer of control prevents you from using code snippets from sources that may not approve that use. If you choose your training sources and limit them to only those with appropriate permissions and licenses, the coding help and snippets you use are more likely to be clean and trustable.
One of the easiest ways to get a feeling for how machine learning models “think” is to start plugging words into the DALL-E, a very large, open model constructed from images and text descriptions culled from the internet. In goes a word and out comes an image that DALL-E considers a match.
Real-time object detection, or finding objects in images, is a tricky area for artificial intelligence. It's also critical for things like self-driving cars, robotics, and assistive devices that need to collect and convey accurate environmental information. YOLOv7 is one of the fastest and most accurate open source object detection tools. Just provide the tool with a collection of images full of objects and see what happens next.
Deepfakes are video and images that are created, altered, or synthesised with the aid of deep learning. The most common example is swapping the face of a celebrity or politician into an existing video or image, usually for humour but sometimes for more nefarious purposes.
DeepFaceLab is open source deepfake technology that runs on Python. In addition to swapping one face for another, it can be used to remove wrinkles and other hallmarks of age and experience.
Natural language processing (NLP) engines perform neural searches and sentiment analysis, then extract and present the information for human and machine users. While still clumsy at times, this technology is becoming sophisticated enough for use in a variety of applications and domains (Alexa is just one example).
PaddleNLP is a popular open source NLP library that you can use to glean search sentiment and flag important entities.
The traditional path to AI success is to store data in a database, then extract it to send to a separate machine learning algorithm. MindsDB is an SQL server that integrates the machine learning algorithms directly into the database. In-database machine learning, or analysing the data where it's already stored, is a fast and efficient way to speed up your machine learning workflows.
Image Super-Resolution (ISR)
More detail is always better with photographs, and Image Super-Resolution can add even more detail by increasing the image resolution. This open source tool employs a machine learning model that you can train to guess at the details in a low-resolution image. With a good training set, the model can produce accurate details and a sharper image.
Many businesses and large corporations are replacing the front lines of customer service with chatbots, which means machines are learning to hold a conversation. DeepPavlov knits together basic machine learning tools like TensorFlow, Keras, and PyTorch to create chatbots for you to learn from. The results are quirky, odd, and sometimes, with the right training, even useful.
The best way to convert three-dimensional models into lavishly rendered scenes is to fire up Blender. While many think of it as a tool for movie makers and animators, Blender is also a great example of applied AI.
A rich interface and numerous plugins make it possible to create complex motion graphics or cinematic vistas. All it takes is a bit of creativity and the Oscar nominating committee will be calling soon. The AIs won’t even ask for a share of the credit.
One of the most fertile foundations for exploring machine vision is OpenCV, the open source computer vision library. It includes many popular algorithms for identifying objects in digital images, as well as specialised routines like one that can spot and read license plates on cars.
Robocode is like the Hunger Games for your algorithms. This Java-based programming game lets your tank fight against others in a battle for domination. It’s a fun pastime and may even be useful for testing new strategies for autonomous vehicles.