Activating AI: Common Libraries, Platforms, and Hardware Foundations
There are dozens of tools and frameworks to take advantage of when working with AI, and the number is constantly growing. In this post, we’ll discuss some popular options to give you a sense of where to start.
AI Development Libraries
TensorFlow (Google): A free and open-source software created by Google. It can be used to experiment with AI and neural networks. Various branches of Google use TensorFlow as the foundation for their projects, and it’s one of the most popular tools used by both commercial and research AI development teams.
Keras (Google): Another open-source project created by Google that runs on top of TensorFlow as well as other libraries. The goal of Keras is to make neural networks simpler and more accessible to developers. The project is written in Python, a popular programming language.
PyTorch (Facebook): PyTorch is Facebook’s offering to the pool of open-source neural network toolkits. Unlike TensorFlow, which was adapted to work with Python with the Keras release, PyTorch was designed from the start to work with the Python programming language, creating a more seamless programming experience with tools like pdb, or The Python Debugger.
OpenAI: Open AI is a nonprofit, open-source research company dedicated to exploring the possibilities of AI. Their goal, which has found support from tech titans like Elon Musk, is to push AI as far forward as possible in the hopes that they (or someone using their open-source resources) will achieve safe and beneficial artificial general intelligence…an AI that can think and learn at the same level as humans.
OpenAI Gym: OpenAI Gym was developed as a toolkit for training and testing reinforcement learning algorithms. The growing suite of simulated environments covers various physical use cases, both built-in and created by third parties. The toolkit allows developers to train reinforcement learning agents on standardized situations, allowing benchmarking and comparison of algorithms regardless of the library used (Tensorflow, PyTorch, etc.).
Isaac (NVIDIA): The Isaac platform by NVIDIA is a software developer kit used to help train AI, specifically AI used in robotics. Like the other AI frameworks we’ve mentioned, it has resources that make it easier and faster to get a neural network off the ground. Where it differs from its peers is in its testing and training features. It’s made with the very specific intention of taking existing robotics to the next level by challenging robots, helping them learn, and providing them with the tools to solve problems even more effectively.
Commercial Platforms and Tools
Cloud AI (Google): Google Cloud AI is a set of tools that allows flexible implementation of an entire machine learning workflow, from data analysis to deployment. AI Hub allows users to manage high-level AI experimentation, while AI Platform allows developers to manage and integrate custom elements of the AI workflow from a variety of libraries.
AutoML (Google): AutoML provides a simple interface for tackling common machine learning projects without significant coding or machine learning expertise. Users have access to code snippets and the ability to host pre-built models for applications such as Vision, Translation, and Natural Language.
Azure ML and Azure ML Studio (Microsoft): Microsoft offers two solutions that have different capabilities and purposes. Machine Learning Studio allows developers new to the field to build machine learning solutions using a drag and drop interface with pre-built models for predictive analytics. Machine Learning Service is an open platform that allows experienced ML developers to build machine learning solutions with Python or other open-source tools.
SageMaker (Amazon): SageMaker is a feature of Amazon’s AWS (Amazon Web Services) that enables developers to build, train, and deploy machine learning software quickly. It provides tools across the AI workflow, including an integrated ML development environment, and manual data labeling through Amazon Mechanical Turk.
Bonsai (Microsoft): Bonsai is a reinforcement learning solution platform that provides developers and subject matter experts with tools to implement and deploy reinforcement learning solutions to real-world systems. To tackle the often difficult process of implementing reinforcement learning successfully, the Bonsai platform abstracts the specific algorithms and hyperparameters used, allowing users to focus on relevant training results more quickly.
Microsoft AirSim: AirSim (short for Aerial Informatics and Robotics Simulation) is an open-source robotics simulation platform. It can capture meaningful data from ground vehicles, static drones, and aerial IoT devices to be used in developing AI models.
DriveSim (NVIDIA): DriveSim is used in NVIDIA’s Drive Constellation autonomous vehicle simulator to test an autonomous vehicle in a nearly-infinite variety of scenarios and conditions. Drive Constellation uses high-fidelity simulation to aim for a safe and scalable way to bring tested autonomous vehicles to the real road.
Gazebo: Gazebo is currently the most popular and accessible simulation tool there is. The free tool comes with the ability to efficiently simulate robot populations in both indoor and outdoor environments.
Just as there is a variety of software that teams can use to build AI, there are many different hardware foundations that make AI possible. These are the most common in the industry.
RaspberryPi: RaspberryPi is a small silicone circuit board (roughly the size of a deck of cards) that comes with all of the capabilities of your typical computer. It’s designed to be a cheap device that DIY programmers and computer tinkerers of all skill levels can use to experiment with programming and computing.
NVIDIA: NVIDIA has recently shifted its focus to AI, providing the hardware that developers and businesses need to meet their artificial intelligence goals. NVIDIA’s GPUs, which have traditionally been used to render 3D graphics on computers, are now being used in new ways to supplement traditional CPUs.
Jetson: The NVIDIA Jetson is an AI platform designed to speed up the beginning stages of AI development. Jetson is a credit card-sized module packed with the performance and capabilities necessary for developing AI projects. It comes in multiple sizes and kits, so developers can pick the option best suited for their project.
Intel: Intel provides AI programmers with hardware tools like the Intel Neural Compute Stick. This device looks like a typical flash drive but is actually a complete neural networking kit that plugs into your computer. Designed for AI-IoT projects, one of the major features of the device is its ability to facilitate computer vision, which is a way for computers to interpret graphics and videos similar to the way humans do.
AWS: Amazon’s AWS (Amazon Web Services) is a suite of online services, including cloud services, remote servers, and frameworks. AWS includes features directly pertaining to artificial intelligence, including machine learning and AI services.