mathias-brandewinder / CNTK.FSharp

MIT License
67 stars 9 forks source link

CNTK.FSharp

Status: experimental

Goal: provide F# utilities to make the CNTK .NET API pleasant to use from the F# scripting environment

Contributing

Given the early stage of the project, and the uncertainties around overall design, I plan on keeping things fluid at the moment, explore ideas to see what works and what doesn't, and keep code primarily in scripts, until things settle down.

I plan on exploring ideas in experimental branches first, and slowly integrate ideas in master. Once things stabilize, it will be time for a library with a stable API.

Ideally, if you have ideas, submit them as an issue, linking to your branch, so we can start a discussion! I am also usually around the fsharp.org Slack, in the datascience channel.

Status/Log

Jan 28, 2018

Most C# examples have been replicated (see examples folder).

At that point, the CNTK.Sequential.fsx has a reasonably working version of sequential models, creating a model using a single input variable, by composing layers in a linear fashion, with a few basic layers implemented. See examples/MNIST/MNIST-CNN.Seq.fsx for an example.

However, sequential models do not cover all use cases, specifically:

How to approach that issue is still in flux. The main goal here would be to enable users with more advanced scenarios to create their own models. Specific goals are:

Next steps:

  1. Refine Sequential, which is likely going to stay there.
  1. Experiment with a more general modelling approach.
  1. Miscellaneous

Nov 3, 2017

Plan: as a first step, focus on replicating the existing C# examples, to understand better what works and what doesn't.