Table of Contents
Getting Started
This repository provides tutorial code in C++ for deep learning researchers to learn PyTorch. To get started, ensure you have the necessary requirements:
- C++-17 compatible compiler
- CMake (minimum version 3.19)
- LibTorch version 2.3.0
- Conda
For Interactive Tutorials
Note: Interactive Tutorials are currently running on LibTorch Nightly Version. Some tutorials may not function properly with this version.
Set up your interactive environment using:
bash
conda create --name pytorch-cpp
conda activate pytorch-cpp
conda install xeus-cling notebook -c conda-forge
Clone, Build and Run Tutorials
Follow these steps to clone, build, and run the tutorials:
On Local Machine
First, clone the repository:
bash
git clone https://github.com/prabhuomkar/pytorch-cpp.git
cd pytorch-cpp
Next, generate the build system:
bash
cmake -B build
Important Note for Windows Users:
LibTorch only supports 64-bit Windows. For Visual Studio, append -A x64 to the command above.
Run All Tutorials
bash
cmake --build build
Run a Specific Tutorial
The executable name is determined by the folder name of the tutorial, replacing all underscores with hyphens. For example:
Change to the tutorials directory and run:
bash
cd build/tutorials/basics/pytorch_basics
./pytorch-basics
Using Docker
If you prefer using Docker, follow these steps:
Build the Docker image:
bash
docker-compose build --build-arg USER_ID=$(id -u) --build-arg GROUP_ID=$(id -g)
Then run the container and build the tutorials:
bash
docker-compose run --rm pytorch-cpp
Troubleshooting
If you encounter issues, consider the following troubleshooting steps:
- Make sure all dependencies are correctly installed.
- Double-check your CMake version and compatibility.
- If using Docker, verify that the container has internet access to download dependencies.
- For interactive tutorials, ensure you’re using the correct version of LibTorch.
For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
Conclusion
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.