... | ... | @@ -30,7 +30,9 @@ To help the user to manage different formats and paths **Barista** provides an i |
|
|
|
|
|
The input manager can be found over the **"Input Manager"** entry in the **"Edit"** menu. New databases can be added over the file dialog behind the **"Add new Database"** button. The file dialog filter looks for files typical for LMDB or LEVELDB but also for *.hdf5 / *.h5 and *.txt files containing paths to hdf5 files. The filter can be changed from "all" to a specific database format.
|
|
|
|
|
|
Since Caffe expects txt files with paths to hdf5 instead of raw hdf5 files the input manager automatically converts the hdf5 file into txt files.
|
|
|
Since Caffe expects txt files with paths to hdf5 instead of raw hdf5 files the input manager automatically creates a txt file which contains the path of the selected hdf5 file.
|
|
|
|
|
|
To ensure that no database is imported twice by accident, the input manager assigns each database an ID by hashing the relevant files. In case of a LMDB the data.mdb file will be hashed, in case of a LEVELDB all *.sst and all *.ldb that are in the same directory as the CURRENT file and in case of a HDF5 database all *.hd5 and *.hdf5 files whose paths are specified in the selected *.txt file.
|
|
|
|
|
|
All paths are made relative to the *project path*. On training and testing these are changed dynamically relative to the *session path*. This includes paths inside a HDF5TXT file.
|
|
|
|
... | ... | @@ -41,6 +43,7 @@ The **Input Manager** provides some useful meta information for all loaded datab |
|
|
Every database can be renamed inside the **Input Manager** by clicking the **Edit** button. This changes only the displayed name, not the database itself. Refreshment of the displayed information is executed on the **Reload** button.
|
|
|
|
|
|
Assignment of databases to layer can be accomplished by the **RIGHT** arrow assign button. The **Input Manager** will automatically search the net for **input layer** of the corresponding format and prompt the user with a list to select the desired layer.
|
|
|
|
|
|
![Select a layer](/uploads/cda40ade24eb90058fe9b60a30a6f147/Bildschirmfoto_von__2017-03-20_20_38_17_.png)
|
|
|
|
|
|
The **Input Manager** provides two additional functions for HDF5TXT databases. By clicking the **Open** button the txt files is opened in the local text-editor to make changes by hand. Existing HDF5TXT databases can be extended by adding new HDF5 files. All added file paths are automatically converted to relative paths.
|
... | ... | @@ -50,7 +53,9 @@ The list of databases can be filtered by type. Selected databases can be deleted |
|
|
## Sessions
|
|
|
After creating a network in the network designer and defining data sources with training data you could start training the created model.
|
|
|
The training of a model is possible directly from within Barista. All you have to do is pressing '**Start Training**' in the Sessions dock.
|
|
|
|
|
|
![start_training](/uploads/109b6c39e29cf8bd15bb3cd51d52df1e/start_training.png)
|
|
|
|
|
|
You will be asked to save the project and a new session is started.
|
|
|
A **session** is a representation of a Caffe training process. One os process is created for every session, which ensures that a crashed training process does not affect the application.
|
|
|
The training process will use the caffe tool from your caffe installation. The tool is called with the following parameter:
|
... | ... | @@ -71,10 +76,13 @@ Sessions could be in the following states: |
|
|
- **FAILED**: the session failed with some error, look in the error console for further information
|
|
|
|
|
|
The session will be contained in a separate directory within the project directory. It will contain log files, snapshots and the net and solver prototxt files for Caffe.
|
|
|
|
|
|
![session_directory](/uploads/1ff35e6eec697a18df986d5cd90b5012/session_directory.png)
|
|
|
|
|
|
After the session was started it will appear in the list of sessions. The list will contain all sessions which were created within the project so far and they will be sorted by their id. Make sure to filter for ALL sessions to see the new session.
|
|
|
|
|
|
![session_entry](/uploads/415553ad9d65c55b17912c8c5175292b/session_entry.png)
|
|
|
|
|
|
The list entry of the session contains the id, controls for starting and pausing the session, a label with the state of the session, the number of training iterations and a list of created snapshots.
|
|
|
|
|
|
### Snapshots
|
... | ... | @@ -86,10 +94,13 @@ It is possible to start a new session with the current network design (including |
|
|
|
|
|
There are two possible ways to do this:
|
|
|
1. Click the small arrow right next to '**Start Training**' and choose either '**Start from solverstate**' or '**Start from caffemodel**'.
|
|
|
|
|
|
![start_from](/uploads/aecc869a1248ece12c1b17b7ddeac3bb/start_from.png)
|
|
|
|
|
|
Then select a snapshot file. A new session will be created which uses the snapshot for weight initialisation.
|
|
|
|
|
|
2. Click the small arrow on the snapshots button of a session entry. All snapshots which were created within the sessions will be displayed. Choose one snapshot and a new session will started.
|
|
|
|
|
|
![start_from_session](/uploads/2744e87210ef8cba4ea2660a609a10f9/start_from_session.png)
|
|
|
|
|
|
To **delete** one ore more sessions just select the sessions in the list and press '**Delete**'.
|
... | ... | @@ -144,7 +155,9 @@ Iterations; Time; logname2.train.key1; logname2.train.key2; ... |
|
|
The weight plotter can visualize the filter trained in the neural network (currently limited to convolutional layer).
|
|
|
After splitting the convolutional layer into its filters, the matrices for every filter are rendered as a block of grayscale pixels.
|
|
|
Very light pixels represent the weights with the higher parameter values, darker pixels the weights with the lower parameter values.
|
|
|
![image](/uploads/ea6a7099e4e1c3f2ee052233215fc810/image.png)
|
|
|
|
|
|
![image](/uploads/ea6a7099e4e1c3f2ee052233215fc810/image.png)
|
|
|
|
|
|
By use of the three comboboxes the desired session, snapshot and layer can be chosen respectively.
|
|
|
By holding and dragging the left mouse button, the visualization can be panned in a desired direction.
|
|
|
Using the mouse wheel alters the scale of the picture.
|
... | ... | |