Reference

# Module `core.Project`

Handles the serialization and loading of projects. A project involves the neural network and the attached train / test data, plus other informations.

## Functions

Project.new () | Constructor.
Project:load (folder) | Loads the fields from a folder.
Project:save (folder, export, fixed) | Saves the project to an existing folder (the folder creation is handled by the ProjectSaveDialog).
(private) load_helper (folder) | Loads a project from a folder.
(private) save_helper (prj, folder, fixed) | Saves a project to a folder.

## Tables

Project | Format of the in memory project.
network.nv | Format of the serialized project file.

## Functions

Project.new ()
  Constructor.
Project:load (folder)
  Loads the fields from a folder.

  ### Parameters

  - folder: Folder where the project is stored

  ### Return value:

  true, or nil plus an error message in case of errors

  ### See also:

  - view.ProjectOpenDialog
Project:save (folder, export, fixed)
  Saves the project to an existing folder (the folder creation is handled by the ProjectSaveDialog). Overwrites existing files.

  ### Parameters

  - folder: Folder where the project will be stored
  - export: If true, the project will not be marked as 'not changed'
  - fixed: If true, the project will be saved in fixed mode. Also, it will not mark as 'not changed'

  ### Return value:

  true, or nil plus an error message in case of errors

  ### See also:

  - view.ProjectSaveDialog
(private) load_helper (folder)
  Loads a project from a folder. Can raise errors, so use with pcall.

  ### Parameters

  - folder: Path of the project folder to be loaded

  ### Return value:

  Project table with the loaded info
(private) save_helper (prj, folder, fixed)
  Saves a project to a folder. Can raise errors, so use with pcall. If no error has been raised, then the save succeeded.

  ### Parameters

  - prj: Project to be saved
  - folder: Folder wher the project will be saved
  - fixed: true if the project will be saved in fixed mode

## Tables

Project
  Format of the in memory project.

  ### Parameters

  - changed: True if the network changed since the last save
  - description: User-defined description of the network
  - data: Array of {desc, obj} that holds the project's data files
  - maps: Array of {desc, tbl} that holds the project's maps
  - network: The neural network
  - folder: The path where the network was loaded
  - training_params: Holds the last used training parameters (can be nil)
  - training_status: Holds the last training status (can be nil)
  - weight_init: Holds the last weight initialization params
network.nv
  Format of the serialized project file.

  ### Parameters

  - fixed: True it the network has been saved to a fixed point format
  - description: User-defined description of the network
  - data: Array that holds the project's data file descriptions. The files must be named index.data, like 1.data, 2.data, 3.data, relative to the description array
  - maps: Array that holds the project's data maps (to be used to map input and output neuron values)
  - file: The filename (relative) of the serialized neural network from the core library