An open API service indexing awesome lists of open source software.

https://github.com/kujenga/goml

Experimental ML implementations in Go
https://github.com/kujenga/goml

go machine-learning mnist neural-networks

Last synced: about 1 year ago
JSON representation

Experimental ML implementations in Go

Awesome Lists containing this project

README

          

# ML in Go

[![GoDoc reference example](https://img.shields.io/badge/godoc-reference-blue.svg)](https://pkg.go.dev/github.com/kujenga/goml)
[![CircleCI](https://circleci.com/gh/kujenga/goml/tree/main.svg?style=svg)](https://circleci.com/gh/kujenga/goml/tree/main)
[![codecov](https://codecov.io/gh/kujenga/goml/branch/main/graph/badge.svg?token=JD4534GVK7)](https://codecov.io/gh/kujenga/goml)
[![Maintainability](https://api.codeclimate.com/v1/badges/6a76fa6d1c7fe238cba1/maintainability)](https://codeclimate.com/github/kujenga/goml/maintainability)
[![Test Coverage](https://api.codeclimate.com/v1/badges/6a76fa6d1c7fe238cba1/test_coverage)](https://codeclimate.com/github/kujenga/goml/test_coverage)

This repository contains various ML experiments written in Go. It endeavors to
use just the standard library, with a handful of exceptions around testing, to
keep things simpler and all in one place.

The goal of this project is to facilitate understanding of various ML
techniques, and is not intended for any sort of production-like usage.

## Packages

- [`neural`](./neural): Implementations of neural networks.
- [`lin`](./lin): Data structures and functions for linear algebra.
- [`mnist`](./mnist): Parsed form of the [MNIST][MNISTArchive] handwriting dataset.
- [`idx`](./idx): Parser for the idx data format used by [`mnist`](./mnist).

## Running tests

You can run this repository's tests with the following commands:

```sh
# Download assets used in testing.
make
# Run the tests.
go test ./...
```

[MNISTArchive]: https://web.archive.org/web/20211125025603/http://yann.lecun.com/exdb/mnist/