A Go library that simplifies TensorFlow's Go bindings with method chaining, automatic scoping, and type conversion.
tfgo is a Go library that simplifies using TensorFlow's Go bindings by providing a cleaner, more intuitive API. It addresses common pain points like manual scoping and runtime type errors through automatic scoping and type conversion, enabling developers to write more pleasant and efficient Go code for machine learning tasks.
Go developers working on machine learning projects who need to integrate TensorFlow models or perform graph-based computations, particularly those serving models trained in Python or implementing computer vision tasks in Go.
Developers choose tfgo over raw TensorFlow Go bindings because it eliminates scoping issues, prevents runtime type errors with automatic conversion, and offers a fluent API with method chaining for concise code. It also uniquely supports serving TensorFlow models trained in Python directly in Go and provides dedicated computer vision operations.
Tensorflow + Go, the gopher way
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Solves common TensorFlow Go pain points by assigning unique names to nodes and converting attributes to supported types, preventing runtime errors as described in the README.
Enables concise, readable Go code with chainable methods, demonstrated in examples like matrix operations and image processing.
Supports serving TensorFlow models trained in Python (e.g., Keras) directly in Go via SavedModel format, with clear code snippets for integration.
Includes an image package with filters and operations for tasks like convolution and edge detection, shown in the vision example with output images.
Requires manual setup of the TensorFlow C library and a forked version of Go bindings, including steps to disable go mod proxy, adding significant initial overhead.
Has fewer pre-built packages than TensorFlow Python, with the README openly encouraging contributions to expand beyond the basic image module.
Relies on a community-maintained fork of TensorFlow Go bindings for fixes, which may risk stability or lag behind official TensorFlow updates.