... | ... | @@ -88,7 +88,9 @@ You can stop the training by pressing `Ctrl+C`. |
|
|
## Install Barista <a id="Install"></a>
|
|
|
So, finally we can start and have a look at *Barista*. First thing we have to do is clone the repository. If you want to have a look at it first, you can look at the repository [webpage](https://go.wwu.de/barista).
|
|
|
|
|
|
Or you can just clone the code using git:
|
|
|
Or you can just clone the code using git:I created a Sciebo folder to save the screenshots. Please upload all the files, that you added to the manual here: https://uni-muenster.sciebo.de/s/nbrVzzzKzSJhjcH - PW: caffe
|
|
|
|
|
|
|
|
|
|
|
|
git clone https://zivgitlab.uni-muenster.de/pria/Barista.git
|
|
|
|
... | ... | @@ -102,7 +104,7 @@ Before trying to run *Barista*, make sure you have python, pip, qt5 and pyqt ins |
|
|
*Barista* needs a few python packages being installed. This can be done automatically using PIP:
|
|
|
|
|
|
cd Barista
|
|
|
pip install -r requirements.txt
|
|
|
pip2 install -r requirements.txt
|
|
|
|
|
|
If you get error messages because you don't have write permissions, you can try to add the `--user` flag to the command, so packages are installed for the current user, only.
|
|
|
|
... | ... | @@ -118,16 +120,20 @@ To run *Barista* start the file `main.py` in BARISTA_ROOT. You can either do thi |
|
|
|
|
|
The first message you will see will look like this:
|
|
|
|
|
|
![Caffepath](Caffepath.png)
|
|
|
![caffepath](Caffepath.png)
|
|
|
|
|
|
In order for *Barista* to run properly, it needs to know where your *Caffe* installation is. From this, Barista will extract available layers and solver types as well as all of the parameters. Please select the CAFFE_ROOT folder and click `Save and start Barista`.
|
|
|
If you selected an invalid folder, you will see a warning. Please make sure that you provide the path to a valid *Caffe* installation.
|
|
|
|
|
|
**Note:** If, for some reason, you move your installation of *Caffe* to a different directory, *Barista* will notify you on the next start. The current default path will be displayed, hopefully reminding you of what you have changed. Just provide the new CAFFE_ROOT and everything should be alright.
|
|
|
|
|
|
Your window should now look like this:
|
|
|
|
|
|
![caffepath_filled](caffepath_filled.png)
|
|
|
|
|
|
The next window you will see, is the startup dialog:
|
|
|
|
|
|
![startup dialog](BaristaStart.png)
|
|
|
![BaristaStart] (BaristaStart.png)
|
|
|
|
|
|
This dialog is always the first thing you will see when starting up Barista (and your *Caffe* installation did not change).
|
|
|
Barista stores networks and training results on a project basis, hence you have to set up a project first. We suggest to create a folder `barista-projects` where you can then create a new directory for every project. However, you are completely free in your choice.
|
... | ... | @@ -136,7 +142,7 @@ So, click on `New Project` and select the project root folder. Then select and t |
|
|
|
|
|
Now you've made it to the main window of Barista. For now, you will only see an empty network and and invalid session on the right:
|
|
|
|
|
|
![empty project](BaristaEmptyProject.png)
|
|
|
![BaristaEmptyProject](BaristaEmptyProject.png)
|
|
|
|
|
|
Any *Barista* project contains at least one session. A specific network design, solver settings, as well as training results are saved in a separate session, making sure you do not lose any results when trying out different topologies and settings.
|
|
|
On the left hand side, the list of available layers is displayed. You can drag and drop them to the canvas in the center. Add blobs to them and build your own network from scratch. However, we would first like to give you an impression of a working network.
|
... | ... | @@ -173,15 +179,15 @@ You will frequently build your net from layers with similar settings. To speed u |
|
|
## Load the Databases <a id="Databases"></a>
|
|
|
When looking at the session list, you will notice that the current session is still invalid because the data layers cannot find the databases. Nothing to worry, we can do something about that as well.
|
|
|
|
|
|
In the menu bar, select `Edit` -> `Input Manager` (or press Ctrl+I or click on the Input Manager icon in the menu bar). The Input Manager will appear, does not show any available data sources:
|
|
|
In the menu bar, select `Edit` -> `Input Manager` (or press Ctrl+I or click on the Input Manager icon in the menu bar). The Input Manager will appear, but does not show any available data sources:
|
|
|
|
|
|
![input manager empty](InputManEmpty.png)
|
|
|
![InputManEmpty](InputManEmpty.png)
|
|
|
|
|
|
Now select Add new Database, and Browse to `CAFFE_ROOT/examples/mnist`. In this folder you will find the two directories we created [before](#Data). Select the `mnist_test_lmdb` directory and add `data.mdb` as input. Repeat those steps for `mnist_train_lmdb`.
|
|
|
|
|
|
Now, you have two data sources named LMDB Database. By clicking on the pencil icon, you can change the name to something more meaningful, like `MNIST Train` and `MNIST Test`. Your Input Manager should now look like this:
|
|
|
|
|
|
![input manager MNIST](InputManMNIST.png)
|
|
|
![InputManMNIST](InputManMNIST.png)
|
|
|
|
|
|
As a final step you can now click on the arrow pointing right to assign each database to a data layer. All available data layers are shown in a list and you can just double-click on a layer to assign the database to it. In brackets you can also see the training [phases](https://github.com/BVLC/caffe/wiki/Excluding-Layers:-Train-and-Test-Phase) they are assigned to.
|
|
|
|
... | ... | @@ -220,8 +226,3 @@ Now, the potter area shows the course of accuracy and loss over training iterati |
|
|
If you now click the play button in the session list again, you will see how the plot is updated in real time during training.
|
|
|
|
|
|
Furthermore, you can select the weight visualization option to get a basic 2D visualization of the weights of each convolutional layer. This helps in spotting overfitting, or wrong gradient descent directions. Visualized weights are only available for snapshots taken by Caffe. This can be done using the snapshot button (camera symbol next to play/pause), pausing the session or automatically by setting the snapshot property for the solver. |
|
|
|
|
|
|
|
|
## Networking <a id="Hosts"></a>
|
|
|
|
|
|
Tutorial will follow soon... |