A machine learning model to generate quasar spectra
Project description
QUEST: A machine learning framework to generate quasar spectra
QUEST (Quasar Unsupervised Encoder and Synthesis Tool) is an implementation of a Variational Auto-Encoder (VAE) with the primary purpose of generating realistic quasar spectra and post-processing them to obtain synthetic quasar photometry. QUEST can also be used to reconstruct spectra with limited wavelength coverage, absorption systems, and even the continuum blueward of the Lyman-$\alpha$ emission line (with some caveats).
Check out the paper for a full breakdown of its capabilities and limitations.
Install instructions
We recommend installing QUEST in a dedicated virtual environment.
-
Create and activate a virtual environment (e.g., using
venv):python -m venv venv_name source venv_name/bin/activate # Linux/macOS
-
Install from source:
git clone [https://github.com/cosmic-dawn-group/QUEST.git](https://github.com/cosmic-dawn-group/QUEST.git) cd QUEST pip install -e .
-
or Install from PyPI:
pip install quest_qso
Note: Updates on the PyPI version might lag slightly behind the main repository.
A note of caution: QUEST has been tested as much as possible, but there are surely bugs and aspects to improve. Please report any issue you find using the GitHub Issues tab, or consider sending us an email (francesco.guarneri@uni-hamburg.de).
Environment variables
QUEST uses a few environment variables to set its output folders and ensure that it does not overuse resources on shared machines.
QUEST_LOCALPATH— General cache directory. This is the primary folder used to download all cached files and save generated spectra/photometry in the examples. If downloaded using the utilities included in QUEST, this will also contain the datasets used to train the model.QUEST_LOG_TO_FILE- QUEST logs to the terminal by default. However, if this variable is set toTrueor1, an additional log file will be created inQUEST_LOCALPATH.AM_I_ON_SHARED_SERVER- If set toTrueor1, QUEST will limit its resource usage (see details in__init__.py-- make sure to customize this to your needs!).TORCH_SEED- Sets the overall seed forPyTorch. If this is not set, the seed defaults to42. If negative, no seed is set. Otherwise, the seed will be set to the value of this variable.TORCH_DEBUG- Effectively setstorch.autograd.set_detect_anomaly(True). This should only be used to debug issues with the model, as it greatly slows down any PyTorch operation.
Environment variables can be set (for example, in bash) using the export command:
export QUEST_LOCALPATH="/path/to/your/cache/folder"
Usage
Head over to the examples folder, where we've included Jupyter notebooks showing how to load the model for inference, sample from it, or generate synthetic photometry.
Contributing
Contributions are more than welcome! Please open an issue to report problems, open PRs to contribute to the code, or just let us know if you have any feature requests! We are a small team but are happy to receive feedback!
License
See LICENSE in the repository root.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file quest_qso-1.0.1.1.tar.gz.
File metadata
- Download URL: quest_qso-1.0.1.1.tar.gz
- Upload date:
- Size: 9.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff3895c4631be6520e14619a8da2d98dd1e0333892508324ce96a98cecd85b88
|
|
| MD5 |
9c85238e09ba4d9965c1e5d9eb1ad1e8
|
|
| BLAKE2b-256 |
2bddb7664fa15c0af080dd7635efc4de446938b7e5ed7272be9bc38b10d939fe
|
File details
Details for the file quest_qso-1.0.1.1-py3-none-any.whl.
File metadata
- Download URL: quest_qso-1.0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1b3719dbb7caa59d5eaa730a3936ad67c9c2bbb106c8574b31ad12d22da1ef8
|
|
| MD5 |
8191ae40bfa9d6fa749d194cd1216a97
|
|
| BLAKE2b-256 |
04b9d5a7c00c4a19fc35a7317b292313d728273fd1e2af60d837e88cedf1f39e
|