Project Name: EleutherAI+gpt-neox
Language: Python
Statement Type: API

Source Code:
def run_train_test(monkeypatch, overwrite_values: dict):
    max_train_iters = 32
    checkpoint_args = {"train_iters": max_train_iters}
    overwrite_values = checkpoint_args
    input_args = ["train.py", "tests/config/test_setup.yml"]
    deepspeed_main_args = simulate_deepy_env(monkeypatch, input_args)

    # Train model, whilst patching collect_loss_for_unit_test to track model loss at each step
    loss_per_iteration = []
    with patch(
        "megatron.training.collect_loss_for_unit_test",
        side_effect=lambda x: loss_per_iteration.append(x),
    ):
        train.main(input_args=deepspeed_main_args, overwrite_values=overwrite_values)
        assert (
            len(loss_per_iteration) == max_train_iters
        ), "patching should have collected loss values from each train step"

        # loss should have decreased by now (otherwise increasing the max_steps parameter could have the testcase pass)
        assert min(loss_per_iteration) < loss_per_iteration[0], (
            "training loss should improve within " + str(max_train_iters) + " steps"
        )

run_train_test(monkeypatch={_setattr=[], _setitem=[], _cwd=None, _savesyspath=None}, overwrite_values={'pos_emb': 'rpe'})

Selected Statement: deepspeed_main_args = simulate_deepy_env(monkeypatch, input_args)

Function Input:
monkeypatch: {_setattr=[], _setitem=[], _cwd=None, _savesyspath=None}
overwrite_values: pos_emb: rpe

Variable Values Before Statement:
monkeypatch: {_setattr=[], _setitem=[], _cwd=None, _savesyspath=None}
input_args: train.py, tests/config/test_setup.yml

Value After Statement Execution: ['--hostfile', 'None', '--include', 'localhost:1', 'train.py', '--deepspeed_config', 'eyJ0cmFpbl9iYXRjaF9zaXplIjogNCwgInRyYWluX21pY3JvX2JhdGNoX3NpemVfcGVyX2dwdSI6IDQsICJvcHRpbWl6ZXIiOiB7InR5cGUiOiAic20zIiwgInBhcmFtcyI6IHt9fSwgImZwMTYiOiB7InR5cGUiOiAiZnAxNiIsICJlbmFibGVkIjogdHJ1ZX0sICJ6ZXJvX29wdGltaXphdGlvbiI6IHsic3RhZ2UiOiAwLCAiYWxsZ2F0aGVyX3BhcnRpdGlvbnMiOiB0cnVlLCAicmVkdWNlX3NjYXR0ZXIiOiB0cnVlLCAiYWxsZ2F0aGVyX2J1Y2tldF9zaXplIjogNTAwMDAwMDAwLCAib3ZlcmxhcF9jb21tIjogZmFsc2UsICJyZWR1Y2VfYnVja2V0X3NpemUiOiA1MDAwMDAwMDAsICJjb250aWd1b3VzX2dyYWRpZW50cyI6IGZhbHNlfSwgIndhbGxfY2xvY2tfYnJlYWtkb3duIjogdHJ1ZSwgImNvbW1zX2xvZ2dlciI6IHsiZW5hYmxlZCI6IHRydWUsICJ2ZXJib3NlIjogdHJ1ZSwgInByb2ZfYWxsIjogdHJ1ZSwgImRlYnVnIjogZmFsc2V9fQ

Variable States During Runtime (line, value):
monkeypatch: 1
{_setattr=[], _setitem=[], _cwd=None, _savesyspath=None}
6
{_setattr=[], _setitem=[(environ({'SHELL': '/bin/bash', 'LSCOLORS': 'Gxfxcxdxbxegedabagacad', 'USER_ZDOTDIR': '/home/jinjun', 'COLORTERM': 'truecolor', 'LESS': '-R', 'TERM_PROGRAM_VERSION': '3.2a', 'GVM_VERSION': '1.0.22', 'CONDA_EXE': '/local/rcs/jinjun/miniforge3/bin/conda', '_CE_M': '', 'TMUX': '/tmp/tmux-19200/default,59951,3', 'PKG_CONFIG_PATH': '/home/jinjun/.gvm/pkgsets/go1.19.1/global/overlay/lib/pkgconfig:/home/jinjun/.gvm/pkgsets/go1.19.1/global/overlay/lib/pkgconfig:', '_P9K_TTY': '/dev/pts/7', 'GVM_PATH_BACKUP': '/home/jinjun/.gvm/bin:/local/rcs/jinjun/miniforge3/envs/mal/bin:/local/rcs/jinjun/miniforge3/condabin:/home/jinjun/.gdrive-downloader:/local/arise/jinjun/miniforge3/bin:/home/jinjun/.gvm/pkgsets/go1.19.1/global/bin:/home/jinjun/.gvm/gos/go1.19.1/bin:/home/jinjun/.gvm/pkgsets/go1.19.1/global/overlay/bin:/home/jinjun/.gvm/bin:/home/jinjun/.vscode-server/cli/servers/Stable-31c37ee8f63491495ac49e43b8544550fbae4533/server/bin/remote-cli:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/jinjun/.local/bin:/home/jinjun/.local/bin:/home/jinjun/.local/bin', 'P9K_TTY': 'old', 'LC_FIG_SET_PARENT': '4c022497-5122-4b80-b325-c89bab32302a', 'PWD': '/local/rcs/jinjun/code/pytrace-collector/logs/self_collected/tried/EleutherAI+gpt-neox/EleutherAI+gpt-neox', 'LOGNAME': 'jinjun', 'XDG_SESSION_TYPE': 'tty', 'CONDA_PREFIX': '/local/rcs/jinjun/miniforge3/envs/EleutherAI+gpt-neox', 'VSCODE_GIT_ASKPASS_NODE': '/home/jinjun/.vscode-server/cli/servers/Stable-31c37ee8f63491495ac49e43b8544550fbae4533/server/node', 'MOTD_SHOWN': 'pam', 'VSCODE_INJECTION': '1', 'GVM_OVERLAY_PREFIX': '/home/jinjun/.gvm/pkgsets/go1.19.1/global/overlay', 'HOME': '/home/jinjun', 'LANG': 'en_US.UTF-8', 'DYLD_LIBRARY_PATH': '/home/jinjun/.gvm/pkgsets/go1.19.1/global/overlay/lib:/home/jinjun/.gvm/pkgsets/go1.19.1/global/overlay/lib', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:', 'gvm_pkgset_name': 'global', 'SSL_CERT_DIR': '/usr/lib/ssl/certs', 'CONDA_PROMPT_MODIFIER': '(EleutherAI+gpt-neox) ', 'GIT_ASKPASS': '/home/jinjun/.vscode-server/cli/servers/Stable-31c37ee8f63491495ac49e43b8544550fbae4533/server/extensions/git/dist/askpass.sh', 'GVM_ROOT': '/home/jinjun/.gvm', 'SSH_CONNECTION': '127.0.0.1 55664 127.0.0.1 22', 'GOROOT': '/home/jinjun/.gvm/gos/go1.19.1', 'NVM_DIR': '/local/rcs/jinjun/.nvm', 'VSCODE_GIT_ASKPASS_EXTRA_ARGS': '', 'XDG_SESSION_CLASS': 'user', 'PYTHONPATH': ':/local/rcs/jinjun/code/pytrace-collector:/local/rcs/jinjun/code/pytrace-collector:/local/rcs/jinjun/code/pytrace-collector:/local/rcs/jinjun/code/pytrace-collector/logs/self_...*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:', 'gvm_pkgset_name': 'global', 'SSL_CERT_DIR': '/usr/lib/ssl/certs', 'CONDA_PROMPT_MODIFIER': '(EleutherAI+gpt-neox) ', 'GIT_ASKPASS': '/home/jinjun/.vscode-server/cli/servers/Stable-31c37ee8f63491495ac49e43b8544550fbae4533/server/extensions/git/dist/askpass.sh', 'GVM_ROOT': '/home/jinjun/.gvm', 'SSH_CONNECTION': '127.0.0.1 55664 127.0.0.1 22', 'GOROOT': '/home/jinjun/.gvm/gos/go1.19.1', 'NVM_DIR': '/local/rcs/jinjun/.nvm', 'VSCODE_GIT_ASKPASS_EXTRA_ARGS': '', 'XDG_SESSION_CLASS': 'user', 'PYTHONPATH': ':/local/rcs/jinjun/code/pytrace-collector:/local/rcs/jinjun/code/pytrace-collector:/local/rcs/jinjun/code/pytrace-collector:/local/rcs/jinjun/code/pytrace-collector/logs/self_collected/tried/EleutherAI+gpt-neox/EleutherAI+gpt-neox', 'TERM': 'screen', 'ZSH': '/home/jinjun/.oh-my-zsh', '_CE_CONDA': '', 'VSCODE_NONCE': 'd0bc7031-48a3-4719-8bb5-ef236ddd0016', 'ZDOTDIR': '/home/jinjun', 'USER': 'jinjun', 'TMUX_PANE': '%5', 'VSCODE_GIT_IPC_HANDLE': '/run/user/19200/vscode-git-13d67c6199.sock', 'CONDA_SHLVL': '3', 'SHLVL': '3', 'PAGER': 'less', '_P9K_SSH_TTY': '/dev/pts/7', 'XDG_SESSION_ID': '43', 'CONDA_PYTHON_EXE': '/local/rcs/jinjun/miniforge3/bin/python', 'LD_LIBRARY_PATH': '/home/jinjun/.gvm/pkgsets/go1.19.1/global/overlay/lib:/home/jinjun/.gvm/pkgsets/go1.19.1/global/overlay/lib', 'XDG_RUNTIME_DIR': '/run/user/19200', 'SSL_CERT_FILE': '/usr/lib/ssl/certs/ca-certificates.crt', 'SSH_CLIENT': '127.0.0.1 46946 22', 'CONDA_DEFAULT_ENV': 'EleutherAI+gpt-neox', 'P9K_SSH': '1', 'LC_ALL': 'en_US.UTF-8', 'VSCODE_GIT_ASKPASS_MAIN': '/home/jinjun/.vscode-server/cli/servers/Stable-31c37ee8f63491495ac49e43b8544550fbae4533/server/extensions/git/dist/askpass-main.js', 'XDG_DATA_DIRS': '/usr/local/share:/usr/share:/var/lib/snapd/desktop', 'BROWSER': '/home/jinjun/.vscode-server/cli/servers/Stable-31c37ee8f63491495ac49e43b8544550fbae4533/server/bin/helpers/browser.sh', 'PATH': '/home/jinjun/.gdrive-downloader:/local/arise/jinjun/miniforge3/bin:/home/jinjun/.gvm/pkgsets/go1.19.1/global/bin:/home/jinjun/.gvm/gos/go1.19.1/bin:/home/jinjun/.gvm/pkgsets/go1.19.1/global/overlay/bin:/home/jinjun/.gvm/bin:/local/rcs/jinjun/miniforge3/envs/EleutherAI+gpt-neox/bin:/local/rcs/jinjun/miniforge3/condabin:/home/jinjun/.gdrive-downloader:/local/arise/jinjun/miniforge3/bin:/home/jinjun/.vscode-server/cli/servers/Stable-31c37ee8f63491495ac49e43b8544550fbae4533/server/bin/remote-cli:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/jinjun/.local/bin:/home/jinjun/.local/bin', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/19200/bus', 'gvm_go_name': 'go1.19.1', 'CONDA_PREFIX_1': '/local/rcs/jinjun/miniforge3', 'CONDA_PREFIX_2': '/local/rcs/jinjun/miniforge3/envs/mal', 'OLDPWD': '/local/rcs/jinjun/code/pytrace-collector', 'GOPATH': '/home/jinjun/.gvm/pkgsets/go1.19.1/global', 'TERM_PROGRAM': 'tmux', 'VSCODE_IPC_HOOK_CLI': '/run/user/19200/vscode-ipc-518d6355-acaf-4714-a359-be3fe9f21e09.sock', '_': '/local/rcs/jinjun/miniforge3/envs/EleutherAI+gpt-neox/bin/python', 'TORCH_CUDA_ARCH_LIST': '', 'KMP_DUPLICATE_LIB_OK': 'True', 'KMP_INIT_AT_FORK': 'FALSE', 'CUDA_MODULE_LOADING': 'LAZY', 'PYTEST_CURRENT_TEST': 'tests/model/test_model_train.py::test_model_training_options[pos_emb-rpe] (call)', 'WORLD_SIZE': '1', 'RANK': '0'}), 'RANK', <notset>)], _cwd=None, _savesyspath=None}
overwrite_values: 1
pos_emb: rpe
4
train_iters: 32
14
{'train_iters': 32, 'train_batch_size': 4, 'train_micro_batch_size_per_gpu': 4, 'zero_optimization': {'stage': 0, 'allgather_partitions': True, 'reduce_scatter': True, 'allgather_bucket_size': 500000000, 'overlap_comm': False, 'reduce_bucket_size': 500000000, 'contiguous_gradients': False}}
max_train_iters: 2
32
checkpoint_args: 3
train_iters: 32
14
{'train_iters': 32, 'train_batch_size': 4, 'train_micro_batch_size_per_gpu': 4, 'zero_optimization': {'stage': 0, 'allgather_partitions': True, 'reduce_scatter': True, 'allgather_bucket_size': 500000000, 'overlap_comm': False, 'reduce_bucket_size': 500000000, 'contiguous_gradients': False}}
input_args: 5
train.py, tests/config/test_setup.yml
deepspeed_main_args: 6
--hostfile
None
--include
localhost:1
train.py
--deepspeed_config
eyJ0cmFpbl9iYXRjaF9zaXplIjogNCwgInRyYWluX21pY3JvX2JhdGNoX3NpemVfcGVyX2dwdSI6IDQsICJvcHRpbWl6ZXIiOiB7InR5cGUiOiAic20zIiwgInBhcmFtcyI6IHt9fSwgImZwMTYiOiB7InR5cGUiOiAiZnAxNiIsICJlbmFibGVkIjogdHJ1ZX0sICJ6ZXJvX29wdGltaXphdGlvbiI6IHsic3RhZ2UiOiAwLCAiYWxsZ2F0aGVyX3BhcnRpdGlvbnMiOiB0cnVlLCAicmVkdWNlX3NjYXR0ZXIiOiB0cnVlLCAiYWxsZ2F0aGVyX2J1Y2tldF9zaXplIjogNTAwMDAwMDAwLCAib3ZlcmxhcF9jb21tIjogZmFsc2UsICJyZWR1Y2VfYnVja2V0X3NpemUiOiA1MDAwMDAwMDAsICJjb250aWd1b3VzX2dyYWRpZW50cyI6IGZhbHNlfSwgIndhbGxfY2xvY2tfYnJlYWtkb3duIjogdHJ1ZSwgImNvbW1zX2xvZ2dlciI6IHsiZW5hYmxlZCI6IHRydWUsICJ2ZXJib3NlIjogdHJ1ZSwgInByb2ZfYWxsIjogdHJ1ZSwgImRlYnVnIjogZmFsc2V9fQ==
--megatron_config
eyJob3N0ZmlsZSI6ICJOb25lIiwgImluY2x1ZGUiOiAibG9jYWxob3N0OjEiLCAidHJhaW5fYmF0Y2hfc2l6ZSI6IDQsICJ0cmFpbl9taWNyb19iYXRjaF9zaXplX3Blcl9ncHUiOiA0LCAib3B0aW1pemVyIjogeyJ0eXBlIjogInNtMyIsICJwYXJhbXMiOiB7fX0sICJmcDE2IjogeyJ0eXBlIjogImZwMTYiLCAiZW5hYmxlZCI6IHRydWV9LCAiemVyb19vcHRpbWl6YXRpb24iOiB7InN0YWdlIjogMCwgImFsbGdhdGhlcl9wYXJ0aXRpb25zIjogdHJ1ZSwgInJlZHVjZV9zY2F0dGVyIjogdHJ1ZSwgImFsbGdhdGhlcl9idWNrZXRfc2l6ZSI6IDUwMDAwMDAwMCwgIm92ZXJsYXBfY29tbSI6IGZhbHNlLCAicmVkdWNlX2J1Y2tldF9zaXplIjogNTAwMDAwMDAwLCAiY29udGlndW91c19ncmFkaWVudHMiOiBmYWxzZX0sICJ3YWxsX2Nsb2NrX2JyZWFrZG93biI6IHRydWUsICJkZWVwc3BlZWRfZXh0cmFfYXJncyI6IHsiY29tbXNfbG9nZ2VyIjogeyJlbmFibGVkIjogdHJ1ZSwgInZlcmJvc2UiOiB0cnVlLCAicHJvZl9hbGwiOiB0cnVlLCAiZGVidWciOiBmYWxzZX19LCAicHJlY2lzaW9uIjogImZwMTYiLCAibnVtX2xheWVycyI6IDIsICJoaWRkZW5fc2l6ZSI6IDgsICJudW1fYXR0ZW50aW9uX2hlYWRzIjogNCwgInNlcV9sZW5ndGgiOiAxMDI0LCAibWF4X3Bvc2l0aW9uX2VtYmVkZGluZ3MiOiAxMDI0LCAicG9zX2VtYiI6ICJyb3RhcnkiLCAibm9fd2VpZ2h0X3R5aW5nIjogdHJ1ZSwgImF0dGVudGlvbl9jb25maWciOiBbImdsb2JhbCIsICJnbG9iYWwiXSwgInNwYXJzaXR5X2NvbmZpZyI6IHt9LCAiaW5pdF9tZXRob2QiOiAic21hbGxfaW5pdCIsICJvdXRwdXRfbGF5ZXJfaW5pdF9tZXRob2QiOiAid2FuZ19pbml0IiwgImxyX2RlY2F5X3N0eWxlIjogImNvc2luZSIsICJscl9kZWNheV9pdGVycyI6IDIwLCAib3B0aW1pemVyX3R5cGUiOiAic20zIiwgInplcm9fc3RhZ2UiOiAwLCAiemVyb19yZWR1Y2Vfc2NhdHRlciI6IHRydWUsICJ6ZXJvX2NvbnRpZ3VvdXNfZ3JhZGllbnRzIjogZmFsc2UsICJ6ZXJvX3JlZHVjZV9idWNrZXRfc2l6ZSI6IDUwMDAwMDAwMCwgInplcm9fYWxsZ2F0aGVyX2J1Y2tldF9zaXplIjogNTAwMDAwMDAwLCAibHIiOiAwLjAwMSwgImRhdGFfcGF0aCI6ICJkYXRhL2Vud2lrOC9lbndpazhfdGV4dF9kb2N1bWVudCIsICJkYXRhX2ltcGwiOiAibW1hcCIsICJjb25maWdfZmlsZXMiOiB7InRlc3Rfc2V0dXAueW1sIjogIiMgMTlNIHBhcmFtZXRlciBtb2RlbCwgJiBsb2NhbCBzZXR1cCB3aXRoIHNvbWUgYWRkaXRpb25hbCBzaW1wbGlmaWNhdGlvbnNcbntcbiAgIyBTZXR0aW5ncyB0byBtYWtlIHRoZSB0ZXN0IHNldHVwIGFzIGxpZ2h0d2VpZ2h0IGFzIHBvc3NpYmxlXG4gIFwiZGF0YV9wYXRoXCI6IFwiZGF0YS9lbndpazgvZW53aWs4X3RleHRfZG9jdW1lbnRcIixcbiAgXCJ2b2NhYl9maWxlXCI6IFwiZGF0YS9ncHQyLXZvY2FiLmpzb25cIixcbiAgXCJtZXJnZV9maWxlXCI6IFwiZGF0YS9ncHQyLW1lcmdlcy50eHRcIixcbiAgXCJscl9kZWNheV9pdGVyc1wiOiAyMCxcbiAgXCJ0cmFpbl9pdGVyc1wiOiAyMCxcbiAgXCJob3N0ZmlsZVwiOiBcIk5vbmVcIixcbiAgXCJpbmNsdWRlXCI6IFwibG9jYWxob3N0OjFcIixcbiAgXCJ1c2Vfd2FuZGJcIjogRmFsc2UsXG5cbiAgIyBTZXR0aW5ncyBjb3BpZWQgZnJvbSAxOU0gcGFyYW1ldGVyIGNvbmZpZyAoc29tZSBtb2RpZmljYXRpb25zIGFib3ZlLCBtZWFuaW5nIHdlIGNhbid0IHVzZSBjb25maWdzLzE5TS55bWwgZGlyZWN0bHkpXG4gIFwicGlwZV9wYXJhbGxlbF9zaXplXCI6IDEsXG4gIFwibW9kZWxfcGFyYWxsZWxfc2l6ZVwiOiAxLFxuXG4gICMgbW9kZWwgc2V0dGluZ3NcbiAgXCJudW1fbGF5ZXJzXCI6IDIsXG4gIFwiaGlkZGVuX3NpemVcIjogOCxcbiAgXCJudW1fYXR0ZW50aW9uX2hlYWRzXCI6IDQsXG4gIFwic2VxX2xlbmd0aFwiOiAxMDI0LFxuICBcIm1heF9wb3NpdGlvbl9lbWJlZGRpbmdzXCI6IDEwMjQsXG4gIFwicG9zX2VtYlwiOiBcInJvdGFyeVwiLFxuICBcIm5vX3dlaWdodF90eWluZ1wiOiB0cnVlLFxuICBcImdwdF9qX3Jlc2lkdWFsXCI6IGZhbHNlLFxuICBcIm91dHB1dF9sYXllcl9wYXJhbGxlbGlzbVwiOiBcImNvbHVtblwiLFxuXG4gIFwic2NhbGVkX3VwcGVyX3RyaWFuZ19tYXNrZWRfc29mdG1heF9mdXNpb25cIjogZmFsc2UsXG4gIFwiYmlhc19nZWx1X2Z1c2lvblwiOiBmYWxzZSxcbiAgXCJyb3BlX2Z1c2lvblwiOiBmYWxzZSxcblxuICAjIE9wdGltaXplclxuICBcIm9wdGltaXplclwiOiB7XG4gICAgXCJ0eXBlXCI6IFwic20zXCIsXG4gICAgXCJwYXJhbXNcIjoge30sXG4gIH0sXG5cbiAgIyBwcmVjaXNpb25cbiAgXCJwcmVjaXNpb25cIjogXCJmcDE2XCIsXG5cbiAgIyBpbml0IG1ldGhvZHNcbiAgXCJpbml0X21ldGhvZFwiOiBcInNtYWxsX2luaXRcIixcbiAgXCJvdXRwdXRfbGF5ZXJfaW5pdF9tZXRob2RcIjogXCJ3YW5nX2luaXRcIixcblxuICBcInRyYWluX21pY3JvX2JhdGNoX3NpemVfcGVyX2dwdVwiOiA0LFxuICBcImdhc1wiOiAxLFxuICBcImRhdGFfaW1wbFwiOiBcIm1tYXBcIixcbiAgXCJudW1fd29ya2Vyc1wiOiAxLFxuXG4gICMgYWN0aXZhdGlvbiBjaGVja3BvaW50aW5nXG4gIFwiY2hlY2twb2ludF9hY3RpdmF0aW9uc1wiOiB0cnVlLFxuICBcImNoZWNrcG9pbnRfbnVtX2xheWVyc1wiOiAxLFxuICBcInBhcnRpdGlvbl9hY3RpdmF0aW9uc1wiOiB0cnVlLFxuICBcInN5bmNocm9uaXplX2VhY2hfbGF5ZXJcIjogdHJ1ZSxcblxuICAjIHJlZ3VsYXJpemF0aW9uXG4gIFwiZ3JhZGllbnRfY2xpcHBpbmdcIjogMS4wLFxuICBcIndlaWdodF9kZWNheVwiOiAwLjEsXG4gIFwiaGlkZGVuX2Ryb3BvdXRcIjogMCxcbiAgXCJhdHRlbnRpb25fZHJvcG91dFwiOiAwLFxuXG4gIFwiZGlzdHJpYnV0ZWRfYmFja2VuZFwiOiBcIm5jY2xcIixcbiAgXCJscl9kZWNheV9zdHlsZVwiOiBcImNvc2luZVwiLFxuICBcIndhcm11cFwiOiAwLjAxLFxuICBcImNoZWNrcG9pbnRfZmFjdG9yXCI6IDEwMDAsXG4gIFwiZXZhbF9pbnRlcnZhbFwiOiAxMDAwMDAsXG4gIFwiZXZhbF9pdGVyc1wiOiAxMCxcblxuICBcImxvZ19pbnRlcnZhbFwiOiAxMCxcbiAgXCJzdGVwc19wZXJfcHJpbnRcIjogMTAsXG4gIFwid2FsbF9jbG9ja19icmVha2Rvd25cIjogdHJ1ZSxcblxuICAjIGFkZGl0aW9uYWwgZGVlcHNwZWVkIGFyZ3Mgbm90IHNwZWNpZmllZCBhYm92ZVxuICBcImRlZXBzcGVlZF9leHRyYV9hcmdzXCI6IHtcbiAgICBcImNvbW1zX2xvZ2dlclwiOiB7XG4gICAgICAgIFwiZW5hYmxlZFwiOiB0cnVlLFxuICAgICAgICBcInZlcmJvc2VcIjogdHJ1ZSxcbiAgICAgICAgXCJwcm9mX2FsbFwiOiB0cnVlLFxuICAgICAgICBcImRlYnVnXCI6IGZhbHNlXG4gICAgfSxcbiAgfVxufVxuIn0sICJjaGVja3BvaW50X2ZhY3RvciI6IDEwMDAsICJiYXRjaF9zaXplIjogNCwgInRyYWluX2l0ZXJzIjogMjAsICJldmFsX2l0ZXJzIjogMTAsICJldmFsX2ludGVydmFsIjogMTAwMDAwLCAidm9jYWJfZmlsZSI6ICJkYXRhL2dwdDItdm9jYWIuanNvbiIsICJtZXJnZV9maWxlIjogImRhdGEvZ3B0Mi1tZXJnZXMudHh0IiwgIm51bV93b3JrZXJzIjogMSwgImNoZWNrcG9pbnRfYWN0aXZhdGlvbnMiOiB0cnVlLCAic3luY2hyb25pemVfZWFjaF9sYXllciI6IHRydWUsICJwYXJ0aXRpb25fYWN0aXZhdGlvbnMiOiB0cnVlLCAiZ2FzIjogMSwgImR5bmFtaWNfbG9zc19zY2FsZSI6IHRydWUsICJwaXBlX3BhcmFsbGVsX3NpemUiOiAxLCAid29ybGRfc2l6ZSI6IDEsICJpc19waXBlX3BhcmFsbGVsIjogdHJ1ZSwgInVzZV93YW5kYiI6IGZhbHNlLCAibG9nX2ludGVydmFsIjogMTAsICJ0ZXh0X2dlbl90eXBlIjogInVuY29uZGl0aW9uYWwiLCAibG9jYWxfcmFuayI6IDAsICJyYW5rIjogMCwgInVzZXJfc2NyaXB0IjogInRyYWluLnB5IiwgInNhdmVfaXRlcnMiOiBbXSwgImdsb2JhbF9udW1fZ3B1cyI6IDF9
loss_per_iteration: 9