Infer.NET user guide

Installation Folders

Infer.NET is distributed as a zipped folder. Copy this to a folder of your choice, and unzip. The folder structure looks as follows:

  • Infer.NET
    • Bin
    • Source
      • Distributions
      • Factors
      • Wrappers
    • Samples
      • C#
      • Fun
      • IronPython
    • Documentation

The Bin folder contains the Infer.NET dlls.:

  • Infer.Compiler.dll is the compiler assembly which takes model descriptions written using the Infer.NET API, and converts them to inference code.
  • Infer.Runtime.dll is the assembly needed to execute the inference code.

Typically during development you will need to reference both these dlls, but in some deployment scenarios you may decide to use pre-compiled code which needs the Runtime dll only.

Infer.Fun.dll and Infer.FSharp.dll are different ways to interact with Infer.NET from F#:

  • Infer.Fun.dll is the assembly for Fun, a syntax extension of F# to allow succinct descriptions of probabilistic models directly in F#.
  • Infer.FSharp.dll is a wrapper dll that hides some of the generic constructs in the Infer.NET API allowing simpler calls to the Infer.NET API from standard F#.

The Bin folder also contains the Examples Browser application which shows and runs code for several tutorial examples and applications.

More complicated C# examples are provided as Visual Studio solutions in the Sample Solutions folder. Fun and Iron Python examples are also available under the Samples folder.

The Source folder shows some of the runtime source for Infer.NET - in particular the distribution classes and the factor classes. The distribution classes can also be thought of as message classes in that they contain all the operations needed to mainpulate distributions within message passing algorithms. The factor classes contain the operations that calculate the output messages for various factors and input messages.

The source folder also contains the sources for F# and Iron Python wrappers, as well as an __init__ file for Iron Python.

The documentation folder contains a standalone offline version of the User Guide and Application Programming Interface. In addition there are two guides, an Introduction and Infer.Net 101; the latter is tutorial in nature and guides you through building progressively more complex models, whilst paying attention to good software development practice. There is also a Fun Interfaces subfolder which contains signature files for the Fun assembly; these files document the Fun public APIs.

©2009-2013 Microsoft Corporation. All rights reserved.  Terms of Use | Trademarks | Privacy Statement