rule all:
    input: "runs/bsc_0to100epochs.h5", "runs/bsc_100to200epochs.h5", "runs/tvae_100epochs.h5"


rule run_bsc_first:
    output: "runs/bsc_0to100epochs.h5"
    shell:
        """
        python train_bsc.py\
            --dataset data/small_data_sample.h5\
            --Ksize 100 --epochs 100 --batch-size 32\
            --output {output}
        """

rule run_bsc_second:
    input: "runs/bsc_0to100epochs.h5"
    output: "runs/bsc_100to200epochs.h5"
    shell:
        """
        python train_bsc.py\
            --dataset data/small_data_sample.h5\
            --Ksize 100 --epochs 100 --batch-size 32\
            --bsc-start {input}\
            --output {output}
        """

rule run_tvae:
    input: "runs/bsc_0to100epochs.h5"
    output: "runs/tvae_100epochs.h5"
    shell:
        """
        python train_tvae_from_bsc.py\
            --dataset data/small_data_sample.h5\
            --bsc-train-out {input}\
            --epochs 100\
            --batch-size 32\
            --output {output}
        """
