211-robust-quantum-dots-charge-autotuning-using-neural-network-uncertainty

https://github.com/szu-advtech-2024/211-robust-quantum-dots-charge-autotuning-using-neural-network-uncertainty

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 10 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.1%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: SZU-AdvTech-2024
  • Default Branch: main
  • Size: 0 Bytes
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 1 year ago · Last pushed about 1 year ago
Metadata Files
Citation

https://github.com/SZU-AdvTech-2024/211-Robust-Quantum-Dots-Charge-Autotuning-using-Neural-Network-Uncertainty/blob/main/

# Quantum dot autotuning 

The model training and the offline autotuning simulations use the [QDSD](https://doi.org/10.5281/zenodo.11402792) dataset, which is generated using [this repository](https://github.com/3it-inpaqt/qdsd-dataset).

## Install

Required `python >= 3.10` and `pip`

```shell script
pip install -r requirements.txt
```

Then download the [QDSD](https://doi.org/10.5281/zenodo.11402792) dataset
and unzip in into a `data` folder at the root of this project. The mandatory files are:

* data/interpolated_csv.zip
* data/labels.json

## Settings

Create a file `settings.yaml` to override settings documented in `utils/settings.py`

**For example**:

```yaml
run_name: tmp
seed: 0
logger_console_level: info
show_images: False
model_type: CNN
trained_network_cache_path: out/cnn/best_network.pt
dropout: 0.6
nb_train_update: 30000
```

## Start run

### Line classification task (NN train & test)

```shell
python3 start_lines.py
```

> **Note**: The [QDSD](https://doi.org/10.5281/zenodo.11402792) dataset should be downloaded and extracted in the `data`
> folder.

### Offline charge autotuning

```shell
python3 start_tuning_offline.py
```

> **Note**: If the `trained_network_cache_path` setting is not set, the script will run the line classification task
> first to train a new model.

### Online charge autotuning

```shell
python3 start_tuning_online.py
```

> **Note**: The `trained_network_cache_path` need to be set.
>
> A `connectors` need to be implemented to communicate with the experimental equipment.
> See [connectors/py_hegel.py](connectors/py_hegel.py) for an example.

### Reproduce the results of the paper

```shell
python3 start_full_exp.py --seed 42000
```

> **Note**: The `--seed` argument could be incremented to repeat the experiment with different random seeds.
>
> Running this script can take several days (3 days with a GPU 3070Ti).

## Files structure

### Repository files

* `autotuning/` : The different autotuning algorithm implementations
* `circuit_simulation/` : Code to generate circuit description, run circuit simulation and benchmark the results
* `classes/` : Custom classes and data structure definition
* `connectors/` : Interface to connect with experimental measurement tools (for online diagrams tuning)
* `datasets/` : Diagrams loading and datasets in pyTorch
  format
* `models/` : Neural network definitions in pyTorch format and baseline models
* `documentation/` : Documentation and process description
* `plots/` : Code to generate figures
* `runs/` : Code logic for the execution of the different tasks
* `utils/` : Miscellaneous utility code (output handling, settings, etc.)
* `start_full_exp.py`: Script to run the complete experiment benchmark (line and autotuning tasks repeated with
  different meta-parameters)
* `start_tasks_planner.py`: Script to automatize several benchmarks with grid-search
* `start_lines.py` : Main file to start the line classification task
* `start_tuning_[online|offline].py` : Main files to start the charge state autotuning task (either online or offline)

### Created files

* `data/` : Contains [QDSD](https://doi.org/10.5281/zenodo.11402792) diagrams data (**should be downloaded by the user
  **).
* `out/` : Generated directory that contains run results log and plots if `run_name` setting field is defined. The
  outputs from the paper can be downloaded [here](https://doi.org/10.5281/zenodo.11403192).
* `settings.yaml` : Projet configuration file (**should be created by the user**)

Owner

  • Name: SZU-AdvTech-2024
  • Login: SZU-AdvTech-2024
  • Kind: organization

Citation (citation.txt)

@article{REPO211,
    author = "Yon, Victor and Galaup, Bastien and Rohrbacher, Claude and Rivard, Joffrey and Godfrin, Clément and Li, Ruoyu and Kubicek, Stefan and Greve, Kristiaan De and Gaudreau, Louis and Dupont-Ferrier, Eva",
    journal = "IOP Publishing Ltd",
    title = "{Robust quantum dots charge autotuning using neural network uncertainty}",
    year = "2024"
}

GitHub Events

Total
  • Push event: 3
  • Create event: 3
Last Year
  • Push event: 3
  • Create event: 3