Open source is fertile ground for transformational software, especially in cutting-edge areas like artificial intelligence (AI) and machine learning. The open source philosophy and collaboration tools make it easier for teams to share code and data and build on the success of others.
This article takes a look at 13 open source projects that are reshaping the world of AI and machine learning. Some are elaborate software packages that support new algorithms. Others are more subtly transformative. All are worth seeing.
TensorFlow and PyTorch
A list of open source tools for AI and machine learning wouldn’t be complete without a nod to 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 covered in this article use them as building blocks.
Programmers who need a little coding help can get it from FauxPilot. The system trains on existing production code and learns enough from it to give structured feedback and suggestions. The project was inspired by GitHub Copilot, but FauxPilot lets you select which repositories you use for training. This additional layer of control prevents you from using snippets from sources that may not approve of such use. If you choose your learning sources and limit them only to those that have the proper permissions and licenses, the coding help and snippets you use are more likely to be clean and reliable.
One of the easiest ways to get a feel for how machine learning models “think” is to start inserting words into the DALL-E, a very large open model built from images. and text descriptions taken from the Internet. A word enters and outputs an image that DALL-E considers a match. Open source projects like DALL-E Playground and DALL-E Mini make it easy to experiment with the model. It’s part game and part portal into the mind of an AI algorithm.
Real-time object detection, or finding objects in images, is a tricky area for artificial intelligence. It’s also essential for things like self-driving cars, robotics, and assistive devices that need to collect and transmit accurate environmental information. YOLOv7 is one of the fastest and most accurate open source object detection tools. Just feed the tool a collection of images full of objects and see what happens next.
Deepfakes are videos and images that are created, modified or synthesized using deep learning. The most common example is swapping the face of a celebrity or politician in an existing video or image, usually for humor, but sometimes for more nefarious purposes. DeepFaceLab is an 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 marks of age and experience.
Natural language processing (NLP) engines perform neural searches and sentiment analysis, then extract and present information to human and machine users. Although clunky at times, this technology is becoming sophisticated enough to be used in a variety of applications and areas (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 route to AI success is to store the data in a database and then extract it to send it to a separate machine learning algorithm. MindsDB is an SQL server that embeds machine learning algorithms directly into the database. In-database machine learning, or analyzing data where it is already stored, is a fast and efficient way to accelerate 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 image resolution. This open-source tool uses a machine learning model that you can train to guess the details of a low-resolution image. With a good training set, the model can produce fine detail and a sharper image.
Many companies and large corporations are replacing the front lines of customer service with chatbots, which means the machines are learning to hold a conversation. DeepPavlov combines basic machine learning tools like TensorFlow, Keras, and PyTorch to create chatbots you can learn from. The results are weird, weird, and sometimes, with the right training, even helpful.
The best way to convert three-dimensional models into lavishly rendered scenes is to fire up Blender. While many consider it a tool for filmmakers and animators, Blender is also a great example of applied AI. A rich interface and numerous plugins make it possible to create complex graphic animations or cinematic views. All it takes is a little creativity and the Oscar nominating committee will be calling soon. RNs won’t even ask for a share of the credit.
One of the most fertile bases for exploring computer vision is OpenCV, the open source computer vision library. It includes many popular algorithms for identifying objects in digital images, as well as specialized routines like the 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 dominance. It’s a fun hobby and can even be useful for testing new strategies for self-driving vehicles.
Copyright © 2022 IDG Communications, Inc.