{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "e57445b9-a172-47b4-8000-d60a4933bbc4", "metadata": {}, "outputs": [], "source": [ "import torch" ] }, { "cell_type": "code", "execution_count": 26, "id": "28c63acd-b83d-4978-b2e5-fbd542be280c", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_3211/2956352158.py:1: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n", " state_dict = torch.load(\"nnunetmonaibundle/model/Task09_Spleen_Bundle/models/FL_global_model.pt\")\n" ] } ], "source": [ "state_dict = torch.load(\"nnunetmonaibundle/model/Task09_Spleen_Bundle/models/FL_global_model.pt\")" ] }, { "cell_type": "code", "execution_count": 27, "id": "c1642405-71cd-4d7f-8834-b23842e3881f", "metadata": {}, "outputs": [], "source": [ "new_state_dict = {}\n", "\n", "from odict import odict\n", "new_state_dict['network_weights'] = odict()" ] }, { "cell_type": "code", "execution_count": 31, "id": "ae8ddfad-0620-4b5e-8294-86b0b2d77583", "metadata": {}, "outputs": [], "source": [ "for weight in state_dict['model']:\n", " new_state_dict['network_weights'][weight[len(\"_orig_mod.\"):]] = state_dict['model'][weight]" ] }, { "cell_type": "code", "execution_count": 34, "id": "c78172b2-c652-4835-ab01-e4c44587a625", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "['encoder.stages.0.0.convs.0.conv.weight',\n", " 'encoder.stages.0.0.convs.0.conv.bias',\n", " 'encoder.stages.0.0.convs.0.norm.weight',\n", " 'encoder.stages.0.0.convs.0.norm.bias',\n", " 'encoder.stages.0.0.convs.0.all_modules.0.weight',\n", " 'encoder.stages.0.0.convs.0.all_modules.0.bias',\n", " 'encoder.stages.0.0.convs.0.all_modules.1.weight',\n", " 'encoder.stages.0.0.convs.0.all_modules.1.bias',\n", " 'encoder.stages.0.0.convs.1.conv.weight',\n", " 'encoder.stages.0.0.convs.1.conv.bias',\n", " 'encoder.stages.0.0.convs.1.norm.weight',\n", " 'encoder.stages.0.0.convs.1.norm.bias',\n", " 'encoder.stages.0.0.convs.1.all_modules.0.weight',\n", " 'encoder.stages.0.0.convs.1.all_modules.0.bias',\n", " 'encoder.stages.0.0.convs.1.all_modules.1.weight',\n", " 'encoder.stages.0.0.convs.1.all_modules.1.bias',\n", " 'encoder.stages.1.0.convs.0.conv.weight',\n", " 'encoder.stages.1.0.convs.0.conv.bias',\n", " 'encoder.stages.1.0.convs.0.norm.weight',\n", " 'encoder.stages.1.0.convs.0.norm.bias',\n", " 'encoder.stages.1.0.convs.0.all_modules.0.weight',\n", " 'encoder.stages.1.0.convs.0.all_modules.0.bias',\n", " 'encoder.stages.1.0.convs.0.all_modules.1.weight',\n", " 'encoder.stages.1.0.convs.0.all_modules.1.bias',\n", " 'encoder.stages.1.0.convs.1.conv.weight',\n", " 'encoder.stages.1.0.convs.1.conv.bias',\n", " 'encoder.stages.1.0.convs.1.norm.weight',\n", " 'encoder.stages.1.0.convs.1.norm.bias',\n", " 'encoder.stages.1.0.convs.1.all_modules.0.weight',\n", " 'encoder.stages.1.0.convs.1.all_modules.0.bias',\n", " 'encoder.stages.1.0.convs.1.all_modules.1.weight',\n", " 'encoder.stages.1.0.convs.1.all_modules.1.bias',\n", " 'encoder.stages.2.0.convs.0.conv.weight',\n", " 'encoder.stages.2.0.convs.0.conv.bias',\n", " 'encoder.stages.2.0.convs.0.norm.weight',\n", " 'encoder.stages.2.0.convs.0.norm.bias',\n", " 'encoder.stages.2.0.convs.0.all_modules.0.weight',\n", " 'encoder.stages.2.0.convs.0.all_modules.0.bias',\n", " 'encoder.stages.2.0.convs.0.all_modules.1.weight',\n", " 'encoder.stages.2.0.convs.0.all_modules.1.bias',\n", " 'encoder.stages.2.0.convs.1.conv.weight',\n", " 'encoder.stages.2.0.convs.1.conv.bias',\n", " 'encoder.stages.2.0.convs.1.norm.weight',\n", " 'encoder.stages.2.0.convs.1.norm.bias',\n", " 'encoder.stages.2.0.convs.1.all_modules.0.weight',\n", " 'encoder.stages.2.0.convs.1.all_modules.0.bias',\n", " 'encoder.stages.2.0.convs.1.all_modules.1.weight',\n", " 'encoder.stages.2.0.convs.1.all_modules.1.bias',\n", " 'encoder.stages.3.0.convs.0.conv.weight',\n", " 'encoder.stages.3.0.convs.0.conv.bias',\n", " 'encoder.stages.3.0.convs.0.norm.weight',\n", " 'encoder.stages.3.0.convs.0.norm.bias',\n", " 'encoder.stages.3.0.convs.0.all_modules.0.weight',\n", " 'encoder.stages.3.0.convs.0.all_modules.0.bias',\n", " 'encoder.stages.3.0.convs.0.all_modules.1.weight',\n", " 'encoder.stages.3.0.convs.0.all_modules.1.bias',\n", " 'encoder.stages.3.0.convs.1.conv.weight',\n", " 'encoder.stages.3.0.convs.1.conv.bias',\n", " 'encoder.stages.3.0.convs.1.norm.weight',\n", " 'encoder.stages.3.0.convs.1.norm.bias',\n", " 'encoder.stages.3.0.convs.1.all_modules.0.weight',\n", " 'encoder.stages.3.0.convs.1.all_modules.0.bias',\n", " 'encoder.stages.3.0.convs.1.all_modules.1.weight',\n", " 'encoder.stages.3.0.convs.1.all_modules.1.bias',\n", " 'encoder.stages.4.0.convs.0.conv.weight',\n", " 'encoder.stages.4.0.convs.0.conv.bias',\n", " 'encoder.stages.4.0.convs.0.norm.weight',\n", " 'encoder.stages.4.0.convs.0.norm.bias',\n", " 'encoder.stages.4.0.convs.0.all_modules.0.weight',\n", " 'encoder.stages.4.0.convs.0.all_modules.0.bias',\n", " 'encoder.stages.4.0.convs.0.all_modules.1.weight',\n", " 'encoder.stages.4.0.convs.0.all_modules.1.bias',\n", " 'encoder.stages.4.0.convs.1.conv.weight',\n", " 'encoder.stages.4.0.convs.1.conv.bias',\n", " 'encoder.stages.4.0.convs.1.norm.weight',\n", " 'encoder.stages.4.0.convs.1.norm.bias',\n", " 'encoder.stages.4.0.convs.1.all_modules.0.weight',\n", " 'encoder.stages.4.0.convs.1.all_modules.0.bias',\n", " 'encoder.stages.4.0.convs.1.all_modules.1.weight',\n", " 'encoder.stages.4.0.convs.1.all_modules.1.bias',\n", " 'encoder.stages.5.0.convs.0.conv.weight',\n", " 'encoder.stages.5.0.convs.0.conv.bias',\n", " 'encoder.stages.5.0.convs.0.norm.weight',\n", " 'encoder.stages.5.0.convs.0.norm.bias',\n", " 'encoder.stages.5.0.convs.0.all_modules.0.weight',\n", " 'encoder.stages.5.0.convs.0.all_modules.0.bias',\n", " 'encoder.stages.5.0.convs.0.all_modules.1.weight',\n", " 'encoder.stages.5.0.convs.0.all_modules.1.bias',\n", " 'encoder.stages.5.0.convs.1.conv.weight',\n", " 'encoder.stages.5.0.convs.1.conv.bias',\n", " 'encoder.stages.5.0.convs.1.norm.weight',\n", " 'encoder.stages.5.0.convs.1.norm.bias',\n", " 'encoder.stages.5.0.convs.1.all_modules.0.weight',\n", " 'encoder.stages.5.0.convs.1.all_modules.0.bias',\n", " 'encoder.stages.5.0.convs.1.all_modules.1.weight',\n", " 'encoder.stages.5.0.convs.1.all_modules.1.bias',\n", " 'decoder.encoder.stages.0.0.convs.0.conv.weight',\n", " 'decoder.encoder.stages.0.0.convs.0.conv.bias',\n", " 'decoder.encoder.stages.0.0.convs.0.norm.weight',\n", " 'decoder.encoder.stages.0.0.convs.0.norm.bias',\n", " 'decoder.encoder.stages.0.0.convs.0.all_modules.0.weight',\n", " 'decoder.encoder.stages.0.0.convs.0.all_modules.0.bias',\n", " 'decoder.encoder.stages.0.0.convs.0.all_modules.1.weight',\n", " 'decoder.encoder.stages.0.0.convs.0.all_modules.1.bias',\n", " 'decoder.encoder.stages.0.0.convs.1.conv.weight',\n", " 'decoder.encoder.stages.0.0.convs.1.conv.bias',\n", " 'decoder.encoder.stages.0.0.convs.1.norm.weight',\n", " 'decoder.encoder.stages.0.0.convs.1.norm.bias',\n", " 'decoder.encoder.stages.0.0.convs.1.all_modules.0.weight',\n", " 'decoder.encoder.stages.0.0.convs.1.all_modules.0.bias',\n", " 'decoder.encoder.stages.0.0.convs.1.all_modules.1.weight',\n", " 'decoder.encoder.stages.0.0.convs.1.all_modules.1.bias',\n", " 'decoder.encoder.stages.1.0.convs.0.conv.weight',\n", " 'decoder.encoder.stages.1.0.convs.0.conv.bias',\n", " 'decoder.encoder.stages.1.0.convs.0.norm.weight',\n", " 'decoder.encoder.stages.1.0.convs.0.norm.bias',\n", " 'decoder.encoder.stages.1.0.convs.0.all_modules.0.weight',\n", " 'decoder.encoder.stages.1.0.convs.0.all_modules.0.bias',\n", " 'decoder.encoder.stages.1.0.convs.0.all_modules.1.weight',\n", " 'decoder.encoder.stages.1.0.convs.0.all_modules.1.bias',\n", " 'decoder.encoder.stages.1.0.convs.1.conv.weight',\n", " 'decoder.encoder.stages.1.0.convs.1.conv.bias',\n", " 'decoder.encoder.stages.1.0.convs.1.norm.weight',\n", " 'decoder.encoder.stages.1.0.convs.1.norm.bias',\n", " 'decoder.encoder.stages.1.0.convs.1.all_modules.0.weight',\n", " 'decoder.encoder.stages.1.0.convs.1.all_modules.0.bias',\n", " 'decoder.encoder.stages.1.0.convs.1.all_modules.1.weight',\n", " 'decoder.encoder.stages.1.0.convs.1.all_modules.1.bias',\n", " 'decoder.encoder.stages.2.0.convs.0.conv.weight',\n", " 'decoder.encoder.stages.2.0.convs.0.conv.bias',\n", " 'decoder.encoder.stages.2.0.convs.0.norm.weight',\n", " 'decoder.encoder.stages.2.0.convs.0.norm.bias',\n", " 'decoder.encoder.stages.2.0.convs.0.all_modules.0.weight',\n", " 'decoder.encoder.stages.2.0.convs.0.all_modules.0.bias',\n", " 'decoder.encoder.stages.2.0.convs.0.all_modules.1.weight',\n", " 'decoder.encoder.stages.2.0.convs.0.all_modules.1.bias',\n", " 'decoder.encoder.stages.2.0.convs.1.conv.weight',\n", " 'decoder.encoder.stages.2.0.convs.1.conv.bias',\n", " 'decoder.encoder.stages.2.0.convs.1.norm.weight',\n", " 'decoder.encoder.stages.2.0.convs.1.norm.bias',\n", " 'decoder.encoder.stages.2.0.convs.1.all_modules.0.weight',\n", " 'decoder.encoder.stages.2.0.convs.1.all_modules.0.bias',\n", " 'decoder.encoder.stages.2.0.convs.1.all_modules.1.weight',\n", " 'decoder.encoder.stages.2.0.convs.1.all_modules.1.bias',\n", " 'decoder.encoder.stages.3.0.convs.0.conv.weight',\n", " 'decoder.encoder.stages.3.0.convs.0.conv.bias',\n", " 'decoder.encoder.stages.3.0.convs.0.norm.weight',\n", " 'decoder.encoder.stages.3.0.convs.0.norm.bias',\n", " 'decoder.encoder.stages.3.0.convs.0.all_modules.0.weight',\n", " 'decoder.encoder.stages.3.0.convs.0.all_modules.0.bias',\n", " 'decoder.encoder.stages.3.0.convs.0.all_modules.1.weight',\n", " 'decoder.encoder.stages.3.0.convs.0.all_modules.1.bias',\n", " 'decoder.encoder.stages.3.0.convs.1.conv.weight',\n", " 'decoder.encoder.stages.3.0.convs.1.conv.bias',\n", " 'decoder.encoder.stages.3.0.convs.1.norm.weight',\n", " 'decoder.encoder.stages.3.0.convs.1.norm.bias',\n", " 'decoder.encoder.stages.3.0.convs.1.all_modules.0.weight',\n", " 'decoder.encoder.stages.3.0.convs.1.all_modules.0.bias',\n", " 'decoder.encoder.stages.3.0.convs.1.all_modules.1.weight',\n", " 'decoder.encoder.stages.3.0.convs.1.all_modules.1.bias',\n", " 'decoder.encoder.stages.4.0.convs.0.conv.weight',\n", " 'decoder.encoder.stages.4.0.convs.0.conv.bias',\n", " 'decoder.encoder.stages.4.0.convs.0.norm.weight',\n", " 'decoder.encoder.stages.4.0.convs.0.norm.bias',\n", " 'decoder.encoder.stages.4.0.convs.0.all_modules.0.weight',\n", " 'decoder.encoder.stages.4.0.convs.0.all_modules.0.bias',\n", " 'decoder.encoder.stages.4.0.convs.0.all_modules.1.weight',\n", " 'decoder.encoder.stages.4.0.convs.0.all_modules.1.bias',\n", " 'decoder.encoder.stages.4.0.convs.1.conv.weight',\n", " 'decoder.encoder.stages.4.0.convs.1.conv.bias',\n", " 'decoder.encoder.stages.4.0.convs.1.norm.weight',\n", " 'decoder.encoder.stages.4.0.convs.1.norm.bias',\n", " 'decoder.encoder.stages.4.0.convs.1.all_modules.0.weight',\n", " 'decoder.encoder.stages.4.0.convs.1.all_modules.0.bias',\n", " 'decoder.encoder.stages.4.0.convs.1.all_modules.1.weight',\n", " 'decoder.encoder.stages.4.0.convs.1.all_modules.1.bias',\n", " 'decoder.encoder.stages.5.0.convs.0.conv.weight',\n", " 'decoder.encoder.stages.5.0.convs.0.conv.bias',\n", " 'decoder.encoder.stages.5.0.convs.0.norm.weight',\n", " 'decoder.encoder.stages.5.0.convs.0.norm.bias',\n", " 'decoder.encoder.stages.5.0.convs.0.all_modules.0.weight',\n", " 'decoder.encoder.stages.5.0.convs.0.all_modules.0.bias',\n", " 'decoder.encoder.stages.5.0.convs.0.all_modules.1.weight',\n", " 'decoder.encoder.stages.5.0.convs.0.all_modules.1.bias',\n", " 'decoder.encoder.stages.5.0.convs.1.conv.weight',\n", " 'decoder.encoder.stages.5.0.convs.1.conv.bias',\n", " 'decoder.encoder.stages.5.0.convs.1.norm.weight',\n", " 'decoder.encoder.stages.5.0.convs.1.norm.bias',\n", " 'decoder.encoder.stages.5.0.convs.1.all_modules.0.weight',\n", " 'decoder.encoder.stages.5.0.convs.1.all_modules.0.bias',\n", " 'decoder.encoder.stages.5.0.convs.1.all_modules.1.weight',\n", " 'decoder.encoder.stages.5.0.convs.1.all_modules.1.bias',\n", " 'decoder.stages.0.convs.0.conv.weight',\n", " 'decoder.stages.0.convs.0.conv.bias',\n", " 'decoder.stages.0.convs.0.norm.weight',\n", " 'decoder.stages.0.convs.0.norm.bias',\n", " 'decoder.stages.0.convs.0.all_modules.0.weight',\n", " 'decoder.stages.0.convs.0.all_modules.0.bias',\n", " 'decoder.stages.0.convs.0.all_modules.1.weight',\n", " 'decoder.stages.0.convs.0.all_modules.1.bias',\n", " 'decoder.stages.0.convs.1.conv.weight',\n", " 'decoder.stages.0.convs.1.conv.bias',\n", " 'decoder.stages.0.convs.1.norm.weight',\n", " 'decoder.stages.0.convs.1.norm.bias',\n", " 'decoder.stages.0.convs.1.all_modules.0.weight',\n", " 'decoder.stages.0.convs.1.all_modules.0.bias',\n", " 'decoder.stages.0.convs.1.all_modules.1.weight',\n", " 'decoder.stages.0.convs.1.all_modules.1.bias',\n", " 'decoder.stages.1.convs.0.conv.weight',\n", " 'decoder.stages.1.convs.0.conv.bias',\n", " 'decoder.stages.1.convs.0.norm.weight',\n", " 'decoder.stages.1.convs.0.norm.bias',\n", " 'decoder.stages.1.convs.0.all_modules.0.weight',\n", " 'decoder.stages.1.convs.0.all_modules.0.bias',\n", " 'decoder.stages.1.convs.0.all_modules.1.weight',\n", " 'decoder.stages.1.convs.0.all_modules.1.bias',\n", " 'decoder.stages.1.convs.1.conv.weight',\n", " 'decoder.stages.1.convs.1.conv.bias',\n", " 'decoder.stages.1.convs.1.norm.weight',\n", " 'decoder.stages.1.convs.1.norm.bias',\n", " 'decoder.stages.1.convs.1.all_modules.0.weight',\n", " 'decoder.stages.1.convs.1.all_modules.0.bias',\n", " 'decoder.stages.1.convs.1.all_modules.1.weight',\n", " 'decoder.stages.1.convs.1.all_modules.1.bias',\n", " 'decoder.stages.2.convs.0.conv.weight',\n", " 'decoder.stages.2.convs.0.conv.bias',\n", " 'decoder.stages.2.convs.0.norm.weight',\n", " 'decoder.stages.2.convs.0.norm.bias',\n", " 'decoder.stages.2.convs.0.all_modules.0.weight',\n", " 'decoder.stages.2.convs.0.all_modules.0.bias',\n", " 'decoder.stages.2.convs.0.all_modules.1.weight',\n", " 'decoder.stages.2.convs.0.all_modules.1.bias',\n", " 'decoder.stages.2.convs.1.conv.weight',\n", " 'decoder.stages.2.convs.1.conv.bias',\n", " 'decoder.stages.2.convs.1.norm.weight',\n", " 'decoder.stages.2.convs.1.norm.bias',\n", " 'decoder.stages.2.convs.1.all_modules.0.weight',\n", " 'decoder.stages.2.convs.1.all_modules.0.bias',\n", " 'decoder.stages.2.convs.1.all_modules.1.weight',\n", " 'decoder.stages.2.convs.1.all_modules.1.bias',\n", " 'decoder.stages.3.convs.0.conv.weight',\n", " 'decoder.stages.3.convs.0.conv.bias',\n", " 'decoder.stages.3.convs.0.norm.weight',\n", " 'decoder.stages.3.convs.0.norm.bias',\n", " 'decoder.stages.3.convs.0.all_modules.0.weight',\n", " 'decoder.stages.3.convs.0.all_modules.0.bias',\n", " 'decoder.stages.3.convs.0.all_modules.1.weight',\n", " 'decoder.stages.3.convs.0.all_modules.1.bias',\n", " 'decoder.stages.3.convs.1.conv.weight',\n", " 'decoder.stages.3.convs.1.conv.bias',\n", " 'decoder.stages.3.convs.1.norm.weight',\n", " 'decoder.stages.3.convs.1.norm.bias',\n", " 'decoder.stages.3.convs.1.all_modules.0.weight',\n", " 'decoder.stages.3.convs.1.all_modules.0.bias',\n", " 'decoder.stages.3.convs.1.all_modules.1.weight',\n", " 'decoder.stages.3.convs.1.all_modules.1.bias',\n", " 'decoder.stages.4.convs.0.conv.weight',\n", " 'decoder.stages.4.convs.0.conv.bias',\n", " 'decoder.stages.4.convs.0.norm.weight',\n", " 'decoder.stages.4.convs.0.norm.bias',\n", " 'decoder.stages.4.convs.0.all_modules.0.weight',\n", " 'decoder.stages.4.convs.0.all_modules.0.bias',\n", " 'decoder.stages.4.convs.0.all_modules.1.weight',\n", " 'decoder.stages.4.convs.0.all_modules.1.bias',\n", " 'decoder.stages.4.convs.1.conv.weight',\n", " 'decoder.stages.4.convs.1.conv.bias',\n", " 'decoder.stages.4.convs.1.norm.weight',\n", " 'decoder.stages.4.convs.1.norm.bias',\n", " 'decoder.stages.4.convs.1.all_modules.0.weight',\n", " 'decoder.stages.4.convs.1.all_modules.0.bias',\n", " 'decoder.stages.4.convs.1.all_modules.1.weight',\n", " 'decoder.stages.4.convs.1.all_modules.1.bias',\n", " 'decoder.transpconvs.0.weight',\n", " 'decoder.transpconvs.0.bias',\n", " 'decoder.transpconvs.1.weight',\n", " 'decoder.transpconvs.1.bias',\n", " 'decoder.transpconvs.2.weight',\n", " 'decoder.transpconvs.2.bias',\n", " 'decoder.transpconvs.3.weight',\n", " 'decoder.transpconvs.3.bias',\n", " 'decoder.transpconvs.4.weight',\n", " 'decoder.transpconvs.4.bias',\n", " 'decoder.seg_layers.0.weight',\n", " 'decoder.seg_layers.0.bias',\n", " 'decoder.seg_layers.1.weight',\n", " 'decoder.seg_layers.1.bias',\n", " 'decoder.seg_layers.2.weight',\n", " 'decoder.seg_layers.2.bias',\n", " 'decoder.seg_layers.3.weight',\n", " 'decoder.seg_layers.3.bias',\n", " 'decoder.seg_layers.4.weight',\n", " 'decoder.seg_layers.4.bias']" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_state_dict['network_weights'].keys()" ] }, { "cell_type": "code", "execution_count": 29, "id": "9f4564ba-696c-49c1-9d44-d330776042de", "metadata": {}, "outputs": [], "source": [ "torch.save(new_state_dict, \"nnunetmonaibundle/model/Task09_Spleen_Bundle/models/FL_global_model_FINAL.pt\")" ] } ], "metadata": { "kernelspec": { "display_name": "MAIA", "language": "python", "name": "maia" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.15" } }, "nbformat": 4, "nbformat_minor": 5 }