Zum Inhalt springen
Menü der Dokumentation

Automatisierung: ein Befehl, feste Versionen, Seeds

Automatisierung erspart Handarbeit, wenn Sie oder andere den Arbeitsablauf wiederholen: ein Befehl, fixierte Versionen, automatisch geladene Eingaben und festgehaltene Seeds. Sie wird neben der Stufe bewertet und ist kein Schritt zu L3.

Zuletzt aktualisiert

Befunde zur Automatisierung stehen neben der Stufe. Die Stufe bleibt, wo Materialien und Dokumentation sie festlegen.
Bezug zur StufeUnabhängig von der Stufe

One command produces the results

Was zählt
Häufige Lücken
So beheben Sie es
Makefile
.PHONY: all data smoke
all: data results/table1.csv results/figure2.pdf

data:
	bash scripts/get_data.sh

results/table1.csv: data
	python -m analysis.table1 --out $@

results/figure2.pdf: results/table1.csv analysis/figure2.R
	Rscript analysis/figure2.R

smoke:
	python -m analysis.table1 --subsample 0.01 --out /tmp/table1_smoke.csv

The software environment is pinned

Was zählt
Häufige Lücken
So beheben Sie es
bash
# Python: lock every direct and indirect version in uv.lock
uv lock

# R: record the R version and every package version in renv.lock
Rscript -e 'renv::snapshot()'

Input retrieval is automated

Was zählt
Häufige Lücken
So beheben Sie es
bash
#!/usr/bin/env bash
# scripts/get_data.sh: fetch and verify every open input
set -euo pipefail
mkdir -p data/raw
curl -fL -o data/raw/counts.csv.gz \
  "https://zenodo.org/records/0000000/files/counts.csv.gz"
sha256sum -c data/checksums.sha256

Random seeds and variability are controlled

Was zählt
Häufige Lücken
So beheben Sie es
python
import argparse, random
import numpy as np
import torch

parser = argparse.ArgumentParser()
parser.add_argument("--seed", type=int, default=0)
args = parser.parse_args()

random.seed(args.seed)
np.random.seed(args.seed)
torch.manual_seed(args.seed)
torch.use_deterministic_algorithms(True)  # error on nondeterministic ops

Tests und Notebooks

Was zählt
Häufige Lücken
So beheben Sie es

Sehen Sie, wo Ihr Projekt steht

Starten Sie die Analyse für Ihr Paper oder Repository. Jeder Befund nennt seinen Bereich und verweist hierher.