{"id":23437280,"url":"https://github.com/pvnieo/fmnet-pytorch","last_synced_at":"2025-04-13T04:51:48.350Z","repository":{"id":42159618,"uuid":"260934816","full_name":"pvnieo/FMNet-pytorch","owner":"pvnieo","description":"A Pytorch implementation of: \"Deep Functional Maps: Structured Prediction for Dense Shape Correspondence\"","archived":false,"fork":false,"pushed_at":"2021-06-09T09:05:27.000Z","size":19998,"stargazers_count":18,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-13T04:51:45.332Z","etag":null,"topics":["fmnet-pytorch","functional-maps","python3","pytorch","shape-correspondence","shape-matching","supervised-learning"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pvnieo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-03T13:59:46.000Z","updated_at":"2025-03-24T12:33:08.000Z","dependencies_parsed_at":"2022-09-22T08:42:57.005Z","dependency_job_id":null,"html_url":"https://github.com/pvnieo/FMNet-pytorch","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pvnieo%2FFMNet-pytorch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pvnieo%2FFMNet-pytorch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pvnieo%2FFMNet-pytorch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pvnieo%2FFMNet-pytorch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pvnieo","download_url":"https://codeload.github.com/pvnieo/FMNet-pytorch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248665766,"owners_count":21142123,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fmnet-pytorch","functional-maps","python3","pytorch","shape-correspondence","shape-matching","supervised-learning"],"created_at":"2024-12-23T13:44:42.327Z","updated_at":"2025-04-13T04:51:48.330Z","avatar_url":"https://github.com/pvnieo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FMNet-pytorch\nA pytorch implementation of: \"Deep Functional Maps: Structured Prediction for Dense Shape Correspondence\" [[link](http://openaccess.thecvf.com/content_ICCV_2017/papers/Litany_Deep_Functional_Maps_ICCV_2017_paper.pdf)]\n\n## Installation\nThis implementation runs on python \u003e= 3.7, use pip to install dependencies:\n```bash\npip3 install -r requirements.txt\n```\n\n## Download data \u0026 preprocessing\nDownload the desired dataset and put it in the `data` folder. Multiple datasets are available [here](https://github.com/pvnieo/datasets-zoo).\n\n\u003cins\u003eAn example with the faust-remeshed dataset is provided\u003c/ins\u003e.\n\nBuild shot calculator:\n```bash\ncd fmnet/utils/shot\ncmake .\nmake\n```\nIf you got any errors in compiling shot, please see [here](https://github.com/pvnieo/3d-utils/tree/master/shot).\n\nUse `fmnet/preprocess.py` to calculate the Laplace decomposition, geodesic distance using the Dijkstra algorithm and the shot descriptors of input shapes, data are saved in .mat format:\n```bash\nusage: preprocess.py [-h] [-d DATAROOT] [-sd SAVE_DIR] [-ne NUM_EIGEN] [-nj NJOBS] [--nn NN]\n\nPreprocess data for FMNet training. Compute Laplacian eigen decomposition, shot features, and geodesic distance for each shape.\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -d DATAROOT, --dataroot DATAROOT\n                        root directory of the dataset\n  -sd SAVE_DIR, --save-dir SAVE_DIR\n                        root directory to save the processed dataset\n  -ne NUM_EIGEN, --num-eigen NUM_EIGEN\n                        number of eigenvectors kept.\n  -nj NJOBS, --njobs NJOBS\n                        Number of parallel processes to use.\n  --nn NN               Number of Neighbor to consider when computing geodesic matrix.\n```\n**NB**: if the shapes have many vertices, the computation of geodesic distance will consume a lot of memory and take a lot of time.\n\n## Usage\nUse the `train.py` script to train the FMNet network.\n```bash\nusage: train.py [-h] [--lr LR] [--b1 B1] [--b2 B2] [-bs BATCH_SIZE] [--n-epochs N_EPOCHS] [--dim-basis DIM_BASIS] [-nv N_VERTICES] [-nb NUM_BLOCKS] [-d DATAROOT] [--save-dir SAVE_DIR] [--n-cpu N_CPU]\n                [--no-cuda] [--checkpoint-interval CHECKPOINT_INTERVAL] [--log-interval LOG_INTERVAL]\n\nLaunch the training of FMNet model.\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --lr LR               adam: learning rate\n  --b1 B1               adam: decay of first order momentum of gradient\n  --b2 B2               adam: decay of first order momentum of gradient\n  -bs BATCH_SIZE, --batch-size BATCH_SIZE\n                        size of the batches\n  --n-epochs N_EPOCHS   number of epochs of training\n  --dim-basis DIM_BASIS\n                        number of eigenvectors used for representation.\n  -nv N_VERTICES, --n-vertices N_VERTICES\n                        Number of vertices used per shape\n  -nb NUM_BLOCKS, --num-blocks NUM_BLOCKS\n                        number of resnet blocks\n  -d DATAROOT, --dataroot DATAROOT\n                        root directory of the dataset\n  --save-dir SAVE_DIR   root directory of the dataset\n  --n-cpu N_CPU         number of cpu threads to use during batch generation\n  --no-cuda             Disable GPU computation\n  --checkpoint-interval CHECKPOINT_INTERVAL\n                        interval between model checkpoints\n  --log-interval LOG_INTERVAL\n                        interval between logging train information\n```\n\n### Example\n```bash\npython3 train.py -bs 4 --n-epochs 10\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpvnieo%2Ffmnet-pytorch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpvnieo%2Ffmnet-pytorch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpvnieo%2Ffmnet-pytorch/lists"}