-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
WebUI image visualization, error handle improved, result image amount…
… unlimited, bug fix
- Loading branch information
Showing
11 changed files
with
97 additions
and
31 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,4 +3,5 @@ build | |
pyerm.egg-info | ||
__pycache__ | ||
*.DS_Store | ||
.vscode | ||
.vscode | ||
*.baiduyun.* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,14 @@ | ||
# PyERM (Python Experiment Record Manager) | ||
This project is an experiment record manager for python based on SQLite DMS, which can help you efficiently save your experiment settings and results for later analysis. | ||
This project is a general experiment record manager for python based on SQLite DMS, which can help you efficiently save your experiment settings and results for later analysis. | ||
|
||
*In the current version, all operations will be performed locally.* | ||
|
||
# Introduction | ||
This project is used to save the settings and results of any experiment consists of three parts: method, data, task. | ||
This project is used to save the settings and results of any experiment which consists of three parts: method, data, task. | ||
|
||
Besides, the basic information and detail information of the experiment will also be recorded. | ||
Besides, the basic information and detail information of the experiment can also be recorded. | ||
|
||
All data you want can be efficiently saved by API provided without knowing the detail implement, but I suggest reading the table introduction for further dealing with the records. | ||
All data you want can be efficiently saved by API provided without knowing the project detail implement, but I suggest reading the table introduction for further dealing with the records. | ||
|
||
## Install Introduction | ||
All you need to do for using the python package is using the following command: | ||
|
@@ -19,7 +19,7 @@ All you need to do for using the python package is using the following command: | |
### Table Define & Init | ||
Before starting the experiment, you need to init the tables you need for the experiment by three init function: `data_init()`, `method_init()`, `task_init()`. | ||
|
||
You need to input the name and experiment parameter for the first two. The function can automatically detect the data type, and they will create the table if not exist. If you want to define the DMS type yourself, you can input a `param_def_dict` to these function, whose key means column name, and value means column SQL type define, like `{"people", "TEXT DEFAULT NULL"}`. | ||
You need to input the name and experiment parameter for the first two. The function can automatically detect the data type from input dict, like `{"name: "Alice", "age": 20}`, and they will create the table if not exist. If you want to define the DMS type yourself, you can input a `param_def_dict` to these function, whose key means column name, and value means column SQL type define, like `{"name", "TEXT DEFAULT NULL", "age": "INTEGER DEFAULT 20"}`. | ||
|
||
### Experiment | ||
|
||
|
@@ -33,19 +33,28 @@ The experiment recorder mainly consists of four parts, `experiment_start()`, `ex | |
|
||
`detail_update()` saves the intermediate results. It's optional, and if you never use it and don't manually set the define dict, the detail table may not be created. | ||
|
||
you can see a specific example in the [github repositories of this project](https://github.com/Mr-SGXXX/pyerm/tree/master/examples) | ||
|
||
|
||
## Scripts Introduction | ||
### export_xls | ||
Export the content of a SQLite database to an Excel file | ||
### export_zip | ||
Export the content of a SQLite database to an Excel file and the result images (if exists) in a zip | ||
```shell | ||
export_xls db_path(default ~/experiment.db) output_path(default ./experiment_record.xls) | ||
export_zip db_path(default ~/experiment.db) output_dir(default ./) | ||
``` | ||
### db_merge | ||
Merge two SQLite databases. | ||
Merge two SQLite databases. The two database must have the same structure for current version. | ||
```shell | ||
db_merge db_path_destination db_path_source | ||
``` | ||
|
||
### pyerm_webui | ||
Open the WebUI of pyerm, and other devices in the network can also access it for remote check. | ||
In the WebUI, you can see all the table of the database including the images of result table or use SQL to get what you want to see. | ||
Besides, the WebUI also offers a way to download the zip the same as `export_zip` or the raw db file. | ||
```shell | ||
pyerm_webui | ||
``` | ||
|
||
## Table Introduction | ||
|
||
|
@@ -65,21 +74,22 @@ The only necessary column for method table is the data setting id, which will be | |
### Result Table | ||
Each Result Table is identified by its corresponding task name, and different tasks will be assigned with different tables for saving its different experiment results, such as accuracy for classification, normalized mutual information for clustering. | ||
|
||
Besides, this table offers several columns for saving image in order for latter visualization. | ||
Besides, this table can save the result images without amount limit in the code. | ||
|
||
The only necessary column for result table is the experiment id, other specific column is set by users. | ||
|
||
### Detail Table | ||
Each Detail Table is identified by its corresponding method name, different methods are related to different detail table. During an experiment, you may need to record some intermediate results, which can be saved in this table. | ||
Each Detail Table is identified by its corresponding method name, different methods are related to different detail table. During an experiment, you may need to record some intermediate results, such as epoch&loss for deep learning, which can be saved in this table. | ||
|
||
The only necessary column for detail table is the detail id (which can be set automatically) and the experiment id, other specific column is set by users. | ||
|
||
|
||
# Future Plan | ||
|
||
- [ ] Some Scripts For Better Usage | ||
- [x] Web UI Visualization | ||
- [ ] Experiment Summary Report Generate | ||
- [ ] Web UI Visualize & Commonly Used Analyze Fuctions | ||
- [ ] Commonly Used Analyze Fuctions | ||
- [ ] Bug fix & performence improving | ||
|
||
# Contact | ||
My email is [email protected]. If you have any question or advice, please contact me. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters