gotch/README.md
2020-06-05 10:53:07 +10:00

1.3 KiB

GoTch - Libtorch Go Binding

Overview

  • GoTch is a C++ Libtorch Go binding for developing and implementing deep learning projects in Go.

  • It is currently in heavy development mode and is considered unstable until version v1.0.0 is marked. Hence, one can use it with own risk.

  • One goal of this package is to create a thin wrapper of Libtorch to make use of its tensor APIs and CUDA support while implementing as much idiomatic Go as possible.

Dependencies

How to use

1. Libtorch installation

  • Make sure that a libtorch version 1.5.0 (either CPU or CUDA support) is installed in your system (default at "/opt/libtorch" in Linux/Mac OS).

2. Import GoTch package

    package main

    import(
        "fmt"
        
        "github.com/sugarme/gotch"
    )

    func main(){
        
        var d gotch.Cuda
        fmt.Printf("Cuda device count: %v\n", d.DeviceCount())
        fmt.Printf("Cuda is available: %v\n", d.IsAvailable())
        fmt.Printf("Cudnn is available: %v\n", d.CudnnIsAvailable())

    }
  • Other examples can be found at example folder

Acknowledgement

  • This projects has been inspired and used many concepts from tch-rs Libtorch Rust binding.