{"id":20982299,"url":"https://github.com/nashory/progressive-growing-torch","last_synced_at":"2025-05-14T16:31:27.469Z","repository":{"id":89673776,"uuid":"108788687","full_name":"nashory/progressive-growing-torch","owner":"nashory","description":"Torch implementation of \"PROGRESSIVE GROWING OF GANS FOR IMPROVED QUALITY, STABILITY, AND VARIATION\"","archived":false,"fork":false,"pushed_at":"2017-11-15T02:57:22.000Z","size":2658,"stargazers_count":35,"open_issues_count":12,"forks_count":8,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-02T20:38:32.694Z","etag":null,"topics":["celeba","generative-adversarial-network","high-resolution","nvidia","progressively-growing-gan","unsupervised-learning"],"latest_commit_sha":null,"homepage":null,"language":"Lua","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/nashory.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-30T01:48:29.000Z","updated_at":"2025-03-01T06:10:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"3c922300-eb61-4c5b-8df6-e1db6a311e12","html_url":"https://github.com/nashory/progressive-growing-torch","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/nashory%2Fprogressive-growing-torch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nashory%2Fprogressive-growing-torch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nashory%2Fprogressive-growing-torch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nashory%2Fprogressive-growing-torch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nashory","download_url":"https://codeload.github.com/nashory/progressive-growing-torch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254182901,"owners_count":22028376,"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":["celeba","generative-adversarial-network","high-resolution","nvidia","progressively-growing-gan","unsupervised-learning"],"created_at":"2024-11-19T05:45:12.069Z","updated_at":"2025-05-14T16:31:27.464Z","avatar_url":"https://github.com/nashory.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Progressive Growing of GANs for Improved Quality, Stability, and Variation\n\n\n-------\n\n[NOTE]  This project was not goint well, so I made PyTorch implementation here. :fire: [[pggan-pytorch]](https://github.com/nashory/pggan-pytorch)\n\n-------\n\n\n  \nTorch implementation of [PROGRESSIVE GROWING OF GANS FOR IMPROVED QUALITY, STABILITY, AND VARIATION](http://research.nvidia.com/sites/default/files/pubs/2017-10_Progressive-Growing-of//karras2017gan-paper.pdf)   \n__YOUR CONTRIBUTION IS INVALUABLE FOR THIS PROJECT :)__ \n\n![image](https://puu.sh/ydG0E/e0f32b0d92.png)\n\n## NEED HELP\n\n[ ] (1) Implementing Pixel-wise normalization layer  \n[ ] (2) Implementing pre-layer normalization (for equalized learning rate)    \n__(I have tried both, but failed to converge. Anyone can help implementing those two custom layers?)__\n\n## Prerequisites\n+ [Torch7](http://torch.ch/docs/getting-started.html#_)\n+ [display](https://github.com/szym/display)\n+ [nninit](https://github.com/Kaixhin/nninit)\n\n\n## How to use?\n\n__[step 1.] Prepare dataset__   \nCelebA-HQ dataset is not available yet, so I used 100,000 generated PNGs of CelebA-HQ released by the author.   \nThe quality of the generated image was good enough for training and verifying the preformance of the code.  \nIf the CelebA-HQ dataset is releasted in then near future, I will update the experimental result.  \n[[download]](https://drive.google.com/open?id=0B4qLcYyJmiz0MUVMVFEyclJnRmc)\n\n+ CAUTION: loading 1024 x 1024 image and resizing every forward process makes training slow. I recommend you to use normal CelebA dataset until the output resolution converges to 256x256.\n\n~~~\n---------------------------------------------\nThe training data folder should look like : \n\u003ctrain_data_root\u003e\n                |--classA\n                        |--image1A\n                        |--image2A ...\n                |--classB\n                        |--image1B\n                        |--image2B ...\n---------------------------------------------\n~~~\n\n__[step 2.] Run training__   \n  + edit script/opts.lua to change training parameter. (don't forget to change path to training images)\n  + run and enjoy!  (Multi-threaded dataloading is supported.)  \n  `$ python run.py`\n\n__[step 3.] Visualization__  \n  + to start display server:  \n  `$ th server.lua`\n  + to check images during training procudure:  \n  `$ \u003cserver_ip\u003e:\u003cport\u003e at your browser`\n\n## Experimental results\n![image](https://puu.sh/ydFYx/46cb67da75.png)  \n\n### Transition experiment: (having trouble with transition from 8x8 -\u003e 16x16 yet.)\n\u003cimg src=\"https://github.com/nashory/gifs/blob/progressive/resl_4.gif?raw=true\" width=\"430\" height=\"430\"\u003e \u003cimg src=\"https://github.com/nashory/gifs/blob/progressive/resl_4to8.gif?raw=true\" width=\"430\" height=\"430\"\u003e\n\n## What does the printed log mean?\n~~~\n(example)\n[E:0][T:91][ 91872/202599]    errD(real): 0.2820 | errD(fake): 0.1557 | errG: 0.3838    [Res:   4][Trn(G):0.0%][Trn(D):0.0%][Elp(hr):0.2008]\n~~~\n+ E: epoch / T: ticks (1tick = 1000imgs) / errD,errG: loss of discrminator and generator\n+ Res: current resolution of output\n+ Trn: transition progress (if 100%, in training phase. if less than 100%, in transition phase using fade-in layer.)\n  + first Trn : Transition of fade-in layer in generator.\n  + second Trn : Transition of fade-in layer in discriminator.\n+ Elp(hr): Elapsed Time (Hour)\n\n\n\n## To-Do List (will be implemented soon)\n- [X] Equalized learning rate (weight normalization)\n- [X] Support WGAN-GP loss\n\n## Compatability\n+ cuda v8.0\n+ Tesla P40 (you may need more than 12GB Memory. If not, please adjust the batch_table in `pggan.lua`)\n+ python 2.7 / Torch7\n\n## Acknowledgement\n+ [tkarras/progressive_growing_of_gans](https://github.com/tkarras/progressive_growing_of_gans)\n+ [soumith/dcgan.torch](https://github.com/soumith/dcgan.torch)\n\n## Author\nMinchulShin, [@nashory](https://github.com/nashory)  \n![image](https://camo.githubusercontent.com/e053bc3e1b63635239e8a44574e819e62ab3e3f4/687474703a2f2f692e67697068792e636f6d2f49634a366e36564a4e6a524e532e676966)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnashory%2Fprogressive-growing-torch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnashory%2Fprogressive-growing-torch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnashory%2Fprogressive-growing-torch/lists"}