AI Compare
โ€‹
โ€‹
ToolsArticlesServices
Best for
    All tools

    Sales

    AI tools for finding leads, qualifying them, preparing quotes, following up and keeping the CRM up to date.

    Marketing

    AI tools for content, social media, images, video, SEO and campaigns.

    Customer service

    AI tools for answering customer emails, chats and calls, handling requests and escalating the hard cases.

    Operations

    AI tools for running the daily work: workflows, scheduling, projects, purchasing and delivery.

    Finance

    AI tools for invoices, bookkeeping, reconciliation, spreadsheets and financial reporting.

    Management & Admin

    AI tools for owners, managers and office staff: planning, reports, documents, meetings, scheduling and everyday admin.

    HR

    AI tools for hiring, screening candidates, onboarding, training and answering employee questions.

    Legal & Compliance

    AI tools for reviewing contracts, tracking deadlines and preparing compliance work for a qualified person to check.

    IT & Development

    AI tools for developers and IT teams: coding, AI models, agents, infrastructure and integrations.

Find AI tools for your team
AllAssistantsWriting & DocsImagesVideoAudioAI AgentsAutomationCode
โ† Back to tools

โ€ข

2021-02-26

cog logo

cog

Not rated yet

9.4K GitHub stars

Type:

Tool

Platforms:

Github

Task:

Study and learnBuild RAG systemsWrite content

Best for:

MarketingIT & Development
Visit websiteView on GitHub

Pricing


Starting price

$0

Type

Freemium

Overview

Andreas and Ben created Cog. Andreas used to work at Spotify, where he built tools for building and deploying ML models with Docker. Ben worked at Docker, where he created Docker Compose.

Define the Docker environment your model runs in with cog.yaml.

README

Cog: Containers for machine learning

Cog is an open-source tool that lets you package machine learning models in a standard, production-ready container.

You can deploy your packaged model to your own infrastructure, or to Replicate.

Highlights

  • ๐Ÿ“ฆ Docker containers without the pain. Writing your own Dockerfile can be a bewildering process. With Cog, you define your environment with a simple configuration file and it generates a Docker image with all the best practices: Nvidia base images, efficient caching of dependencies, installing specific Python versions, sensible environment variable defaults, and so on.

  • ๐Ÿคฌ๏ธ No more CUDA hell. Cog knows which CUDA/cuDNN/PyTorch/Tensorflow/Python combos are compatible and will set it all up correctly for you.

  • โœ… Define the inputs and outputs for your model with standard Python. Then, Cog generates an OpenAPI schema and validates the inputs and outputs.

  • ๐ŸŽ Automatic HTTP inference server: Your model's types are used to dynamically generate a RESTful HTTP API using a high-performance Rust/Axum server.

  • ๐Ÿš€ Ready for production. Deploy your model anywhere that Docker images run. Your own infrastructure, or Replicate.

How it works

Define the Docker environment your model runs in with cog.yaml:

build:
  gpu: true
  system_packages:
    - "libgl1"
    - "libglib2.0-0"
  python_version: "3.13"
  python_requirements: requirements.txt
run: "run.py:Runner"

Define how your model runs with run.py:

from cog import BaseRunner, Input, Path
import torch

class Runner(BaseRunner):
    def setup(self):
        """Load the model into memory to make running multiple inferences efficient"""
        self.model = torch.load("./weights.pth")

    # The arguments and types the model takes as input
    def run(self,
          image: Path = Input(description="Grayscale input image")
    ) -> Path:
        """Run the model"""
        processed_image = preprocess(image)
        output = self.model(processed_image)
        return postprocess(output)

In the above we accept a path to the image as an input, and return a path to our transformed image after running it through our model.

Now, you can run the model:

$ cog run -i image=@input.jpg
--> Building Docker image...
--> Running...
--> Output written to output.jpg

Or, build a Docker image for deployment:

$ cog build -t my-classification-model
--> Building Docker image...
--> Built my-classification-model:latest

$ docker run -d -p 5000:5000 --gpus all my-classification-model

$ curl http://localhost:5000/predictions -X POST \
    -H 'Content-Type: application/json' \
    -d '{"input": {"image": "https://.../input.jpg"}}'

Or, combine build and run via the serve command:

$ cog serve -p 8080

$ curl http://localhost:8080/predictions -X POST \
    -H 'Content-Type: application/json' \
    -d '{"input": {"image": "https://.../input.jpg"}}'

Why are we building this?

It's really hard for researchers to ship machine learning models to production.

Part of the solution is Docker, but it is so complex to get it to work: Dockerfiles, pre-/post-processing, Flask servers, CUDA versions. More often than not the researcher has to sit down with an engineer to get the damn thing deployed.

Andreas and Ben created Cog. Andreas used to work at Spotify, where he built tools for building and deploying ML models with Docker. Ben worked at Docker, where he created Docker Compose.

We realized that, in addition to Spotify, other companies were also using Docker to build and deploy machine learning models. Uber and others have built similar systems. So, we're making an open source version so other people can do this too.

Hit us up if you're interested in using it or want to collaborate with us. We're on Discord or email us at team@replicate.com.

Prerequisites

  • macOS, Linux or Windows 11. Cog works on macOS, Linux and Windows 11 with WSL 2
  • Docker. Cog uses Docker to create a container for your model. You'll need to install Docker before you can run Cog. If you install Docker Engine instead of Docker Desktop, you will need to install Buildx as well.

Install

Choose your platform for installation instructions.

macOS

The easiest way to install Cog on macOS is with Homebrew:

brew install replicate/tap/cog

You can also use the install script:

# bash, zsh, and other shells
sh <(curl -fsSL https://cog.run/install.sh)

# fish shell
sh (curl -fsSL https://cog.run/install.sh | psub)

# download with wget and run in a separate command
wget -qO- https://cog.run/install.sh
sh ./install.sh

Or install manually:

sudo curl -o /usr/local/bin/cog -L "https://github.com/replicate/cog/releases/latest/download/cog_$(uname -s)_$(uname -m | sed 's/aarch64/arm64/')"
sudo chmod +x /usr/local/bin/cog
sudo xattr -d com.apple.quarantine /usr/local/bin/cog 2>/dev/null || true

If you see a Gatekeeper warning saying the binary "cannot be opened because the developer cannot be verified", run:

sudo xattr -d com.apple.quarantine /usr/local/bin/cog
Linux

You can install Cog using the install script:

# bash, zsh, and other shells
sh <(curl -fsSL https://cog.run/install.sh)

# fish shell
sh (curl -fsSL https://cog.run/install.sh | psub)

# download with wget and run in a separate command
wget -qO- https://cog.run/install.sh
sh ./install.sh

Or install manually:

sudo curl -o /usr/local/bin/cog -L "https://github.com/replicate/cog/releases/latest/download/cog_$(uname -s)_$(uname -m | sed 's/aarch64/arm64/')"
sudo chmod +x /usr/local/bin/cog
Windows

Cog does not natively support Windows, but you can run it on Windows 11 using WSL 2. Once WSL 2 is set up, follow the Linux installation instructions above.

Docker

To install Cog inside a Docker image:

RUN sh -c "INSTALL_DIR=\"/usr/local/bin\" SUDO=\"\" $(curl -fsSL https://cog.run/install.sh)"

Upgrade

If you're using macOS and you previously installed Cog with Homebrew, run the following:

brew upgrade replicate/tap/cog

Otherwise, you can upgrade to the latest version by running the same commands you used to install it.

Development

See CONTRIBUTING.md for how to set up a development environment and build from source.

Next steps

  • Get started with an example model
  • Get started with your own model
  • Using Cog with notebooks
  • Using Cog with Windows 11
  • Browse the example models in this repo
  • Deploy models with Cog
  • cog.yaml reference to learn how to define your model's environment
  • Run interface reference to learn how the Runner interface works
  • Training interface reference to learn how to add a fine-tuning API to your model
  • HTTP API reference to learn how to use the HTTP API that models serve

Need help?

Join us in #cog on Discord.

Ask DeepWiki

Contributors โœจ

Thanks goes to these wonderful people (emoji key):

Ben Firshman
Ben Firshman

๐Ÿ’ป ๐Ÿ“–
Andreas Jansson
Andreas Jansson

๐Ÿ’ป ๐Ÿ“– ๐Ÿšง
Zeke Sikelianos
Zeke Sikelianos

๐Ÿ’ป ๐Ÿ“– ๐Ÿ”ง
Rory Byrne
Rory Byrne

๐Ÿ’ป ๐Ÿ“– โš ๏ธ
Michael Floering
Michael Floering

๐Ÿ’ป ๐Ÿ“– ๐Ÿค”
Ben Evans
Ben Evans

๐Ÿ“–
shashank agarwal
shashank agarwal

๐Ÿ’ป ๐Ÿ“–
VictorXLR
VictorXLR

๐Ÿ’ป ๐Ÿ“– โš ๏ธ
hung anna
hung anna

๐Ÿ›
Brian Whitman
Brian Whitman

๐Ÿ›
JimothyJohn
JimothyJohn

๐Ÿ›
ericguizzo
ericguizzo

๐Ÿ›
Dominic Baggott
Dominic Baggott

๐Ÿ’ป โš ๏ธ
Dashiell Stander
Dashiell Stander

๐Ÿ› ๐Ÿ’ป โš ๏ธ
Shuwei Liang
Shuwei Liang

๐Ÿ› ๐Ÿ’ฌ
Eric Allam
Eric Allam

๐Ÿค”
Ivรกn Perdomo
Ivรกn Perdomo

๐Ÿ›
Charles Frye
Charles Frye

๐Ÿ“–
Luan Pham
Luan Pham

๐Ÿ› ๐Ÿ“–
TommyDew
TommyDew

๐Ÿ’ป
Jesse Andrews
Jesse Andrews

๐Ÿ’ป ๐Ÿ“– โš ๏ธ
Nick Stenning
Nick Stenning

๐Ÿ’ป ๐Ÿ“– ๐ŸŽจ ๐Ÿš‡ โš ๏ธ
Justin Merrell
Justin Merrell

๐Ÿ“–
Rurik Ylรค-Onnenvuori
Rurik Ylรค-Onnenvuori

๐Ÿ›
Youka
Youka

๐Ÿ›
Clay Mullis
Clay Mullis

๐Ÿ“–
Mattt
Mattt

๐Ÿ’ป ๐Ÿ“– ๐Ÿš‡
Eng Zer Jun
Eng Zer Jun

โš ๏ธ
BB
BB

๐Ÿ’ป
williamluer
williamluer

๐Ÿ“–
Simon Eskildsen
Simon Eskildsen

๐Ÿ’ป
F
F

๐Ÿ› ๐Ÿ’ป
Philip Potter
Philip Potter

๐Ÿ› ๐Ÿ’ป
Joanne Chen
Joanne Chen

๐Ÿ“–
technillogue
technillogue

๐Ÿ’ป
Aron Carroll
Aron Carroll

๐Ÿ“– ๐Ÿ’ป ๐Ÿค”
Bohdan Mykhailenko
Bohdan Mykhailenko

๐Ÿ“– ๐Ÿ›
Daniel Radu
Daniel Radu

๐Ÿ“– ๐Ÿ›
Itay Etelis
Itay Etelis

๐Ÿ’ป
Gennaro Schiano
Gennaro Schiano

๐Ÿ“–
Andrรฉ Knรถrig
Andrรฉ Knรถrig

๐Ÿ“–
Dan Fairs
Dan Fairs

๐Ÿ’ป

This project follows the all-contributors specification. Contributions of any kind welcome!

Releases

Release information has not been added yet.

Complete your AI stack

Add complementary AI tools for the rest of your workflow.

More recommendations will appear here as matching tools are published.

Best alternatives

Compare similar tools in the same category.

CodeRabbit logo

CodeRabbit

AI-powered code review assistant for pull requests.

OpenClaw logo

OpenClaw

Your own personal AI assistant. Any OS. Any Platform. The lobster way. ๐Ÿฆž

Cursor logo

Cursor

AI coding editor and autonomous software development platform

DeepSeek logo

DeepSeek

AI assistant for reasoning, coding, research, and agent tasks

ECC logo

ECC

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

View all in this category
Help
Pick an answer below
Hi! I can point you to the right tool or guide. What are you looking for?
Browse all articles