|
|
general: |
|
|
name: NR-2layers-basic-v1 |
|
|
root_dir: null |
|
|
|
|
|
dset: |
|
|
cls: ReflectivityDataLoader |
|
|
prior_sampler: |
|
|
cls: SubpriorParametricSampler |
|
|
kwargs: |
|
|
param_ranges: |
|
|
thicknesses: [1., 1500.] |
|
|
roughnesses: [0., 60.] |
|
|
slds: [-8., 16.] |
|
|
r_scale: [0.9, 1.1] |
|
|
log10_background: [-10.0, -4.0] |
|
|
bound_width_ranges: |
|
|
thicknesses: [1.0e-2, 1500.] |
|
|
roughnesses: [1.0e-2, 60.] |
|
|
slds: [1.0e-2, 5.] |
|
|
r_scale: [1.0e-3, 0.2] |
|
|
log10_background: [1.0e-2, 6.0] |
|
|
shift_param_config: |
|
|
r_scale: true |
|
|
log10_background: true |
|
|
model_name: standard_model |
|
|
max_num_layers: 2 |
|
|
constrained_roughness: true |
|
|
max_thickness_share: 0.5 |
|
|
logdist: false |
|
|
scale_params_by_ranges: false |
|
|
scaled_range: [-1., 1.] |
|
|
device: 'cuda' |
|
|
|
|
|
q_generator: |
|
|
cls: MaskedVariableQ |
|
|
kwargs: |
|
|
q_min_range: [0.001, 0.02] |
|
|
q_max_range: [0.05, 0.4] |
|
|
n_q_range: [50, 256] |
|
|
mode: 'mixed' |
|
|
shuffle_mask: False |
|
|
total_thickness_constraint: True |
|
|
min_points_per_fringe: 4 |
|
|
device: 'cuda' |
|
|
|
|
|
intensity_noise: |
|
|
cls: GaussianExpIntensityNoise |
|
|
kwargs: |
|
|
relative_errors: [0.01, 0.3] |
|
|
add_to_context: true |
|
|
|
|
|
smearing: |
|
|
cls: Smearing |
|
|
kwargs: |
|
|
sigma_range: [0.01, 0.12] |
|
|
gauss_num: 17 |
|
|
share_smeared: 1.0 |
|
|
|
|
|
curves_scaler: |
|
|
cls: LogAffineCurvesScaler |
|
|
kwargs: |
|
|
weight: 0.2 |
|
|
bias: 1.0 |
|
|
eps: 1.0e-10 |
|
|
|
|
|
model: |
|
|
network: |
|
|
cls: NetworkWithPriors |
|
|
pretrained_name: null |
|
|
device: 'cuda' |
|
|
kwargs: |
|
|
embedding_net_type: 'integral_conv' |
|
|
embedding_net_kwargs: |
|
|
z_num: [64, 128, 256] |
|
|
z_range: [0., 0.41] |
|
|
dim_embedding: 256 |
|
|
in_dim: 1 |
|
|
num_blocks: 4 |
|
|
kernel_coef: 16 |
|
|
use_layer_norm: true |
|
|
conv_dims: [32, 64, 128] |
|
|
pretrained_embedding_net: null |
|
|
dim_out: 10 |
|
|
dim_conditioning_params: 1 |
|
|
layer_width: 1024 |
|
|
num_blocks: 8 |
|
|
repeats_per_block: 2 |
|
|
residual: true |
|
|
use_batch_norm: true |
|
|
use_layer_norm: false |
|
|
mlp_activation: 'gelu' |
|
|
dropout_rate: 0.0 |
|
|
tanh_output: false |
|
|
conditioning: 'film' |
|
|
concat_condition_first_layer: false |
|
|
|
|
|
training: |
|
|
trainer_cls: PointEstimatorTrainer |
|
|
num_iterations: 1000000 |
|
|
batch_size: 4096 |
|
|
lr: 1.0e-3 |
|
|
grad_accumulation_steps: 1 |
|
|
clip_grad_norm_max: null |
|
|
update_tqdm_freq: 1 |
|
|
optimizer: AdamW |
|
|
trainer_kwargs: |
|
|
train_with_q_input: false |
|
|
condition_on_q_resolutions: true |
|
|
rescale_loss_interval_width: true |
|
|
use_l1_loss: true |
|
|
optim_kwargs: |
|
|
betas: [0.9, 0.999] |
|
|
weight_decay: 0.0005 |
|
|
callbacks: |
|
|
save_best_model: |
|
|
enable: true |
|
|
freq: 500 |
|
|
lr_scheduler: |
|
|
cls: CosineAnnealingWithWarmup |
|
|
kwargs: |
|
|
min_lr: 1.0e-6 |
|
|
warmup_iters: 500 |
|
|
total_iters: 1000000 |