{ "info": { "author": "Alex Parinov", "author_email": "creafz@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "### Fine-tune pretrained Convolutional Neural Networks with PyTorch.\n\n\n[![PyPI](https://img.shields.io/pypi/v/cnn-finetune.svg)](https://pypi.org/project/cnn-finetune/)\n[![CircleCI](https://circleci.com/gh/creafz/pytorch-cnn-finetune/tree/master.svg?style=shield)](https://circleci.com/gh/creafz/pytorch-cnn-finetune)\n[![codecov.io](https://codecov.io/github/creafz/pytorch-cnn-finetune/coverage.svg?branch=master)](https://codecov.io/github/creafz/pytorch-cnn-finetune)\n\n\n### Features\n- Gives access to the most popular CNN architectures pretrained on ImageNet.\n- Automatically replaces classifier on top of the network, which allows you to train a network with a dataset that has a different number of classes.\n- Allows you to use images with any resolution (and not only the resolution that was used for training the original model on ImageNet).\n- Allows adding a Dropout layer or a custom pooling layer.\n\n\n### Supported architectures and models\n\n#### From the [torchvision](https://github.com/pytorch/vision/) package:\n\n- ResNet (`resnet18`, `resnet34`, `resnet50`, `resnet101`, `resnet152`)\n- ResNeXt (`resnext50_32x4d`, `resnext101_32x8d`)\n- DenseNet (`densenet121`, `densenet169`, `densenet201`, `densenet161`)\n- Inception v3 (`inception_v3`)\n- VGG (`vgg11`, `vgg11_bn`, `vgg13`, `vgg13_bn`, `vgg16`, `vgg16_bn`, `vgg19`, `vgg19_bn`)\n- SqueezeNet (`squeezenet1_0`, `squeezenet1_1`)\n- MobileNet V2 (`mobilenet_v2`)\n- ShuffleNet v2 (`shufflenet_v2_x0_5`, `shufflenet_v2_x1_0`)\n- AlexNet (`alexnet`)\n- GoogLeNet (`googlenet`)\n\n#### From the [Pretrained models for PyTorch](https://github.com/Cadene/pretrained-models.pytorch) package:\n- ResNeXt (`resnext101_32x4d`, `resnext101_64x4d`)\n- NASNet-A Large (`nasnetalarge`)\n- NASNet-A Mobile (`nasnetamobile`)\n- Inception-ResNet v2 (`inceptionresnetv2`)\n- Dual Path Networks (`dpn68`, `dpn68b`, `dpn92`, `dpn98`, `dpn131`, `dpn107`)\n- Inception v4 (`inception_v4`)\n- Xception (`xception`)\n- Squeeze-and-Excitation Networks (`senet154`, `se_resnet50`, `se_resnet101`, `se_resnet152`, `se_resnext50_32x4d`, `se_resnext101_32x4d`)\n- PNASNet-5-Large (`pnasnet5large`)\n- PolyNet (`polynet`)\n\n\n### Requirements\n* Python 3.5+\n* PyTorch 1.1+\n\n### Installation\n\n```\npip install cnn_finetune\n```\n\n\n### Major changes:\n#### Version 0.4\n- Default value for `pretrained` argument in `make_model` is changed from `False` to `True`. Now call `make_model('resnet18', num_classes=10)` is equal to `make_model('resnet18', num_classes=10, pretrained=True)`\n\n\n### Example usage:\n\n#### Make a model with ImageNet weights for 10 classes\n\n```\nfrom cnn_finetune import make_model\n\nmodel = make_model('resnet18', num_classes=10, pretrained=True)\n```\n\n#### Make a model with Dropout\n```\nmodel = make_model('nasnetalarge', num_classes=10, pretrained=True, dropout_p=0.5)\n```\n\n#### Make a model with Global Max Pooling instead of Global Average Pooling\n```\nimport torch.nn as nn\n\nmodel = make_model('inceptionresnetv2', num_classes=10, pretrained=True, pool=nn.AdaptiveMaxPool2d(1))\n```\n\n\n#### Make a VGG16 model that takes images of size 256x256 pixels\nVGG and AlexNet models use fully-connected layers, so you have to additionally pass the input size of images\nwhen constructing a new model. This information is needed to determine the input size of fully-connected layers.\n```\nmodel = make_model('vgg16', num_classes=10, pretrained=True, input_size=(256, 256))\n```\n\n\n#### Make a VGG16 model that takes images of size 256x256 pixels and uses a custom classifier\n```\nimport torch.nn as nn\n\ndef make_classifier(in_features, num_classes):\n return nn.Sequential(\n nn.Linear(in_features, 4096),\n nn.ReLU(inplace=True),\n nn.Linear(4096, num_classes),\n )\n\nmodel = make_model('vgg16', num_classes=10, pretrained=True, input_size=(256, 256), classifier_factory=make_classifier)\n```\n\n\n#### Show preprocessing that was used to train the original model on ImageNet\n```\n>> model = make_model('resnext101_64x4d', num_classes=10, pretrained=True)\n>> print(model.original_model_info)\nModelInfo(input_space='RGB', input_size=[3, 224, 224], input_range=[0, 1], mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])\n>> print(model.original_model_info.mean)\n[0.485, 0.456, 0.406]\n```\n\n#### CIFAR10 Example\nSee [examples/cifar10.py](examples/cifar10.py) file (requires PyTorch 1.1+).", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/creafz/pytorch-cnn-finetune", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "cnn-finetune", "package_url": "https://pypi.org/project/cnn-finetune/", "platform": "", "project_url": "https://pypi.org/project/cnn-finetune/", "project_urls": { "Homepage": "https://github.com/creafz/pytorch-cnn-finetune" }, "release_url": "https://pypi.org/project/cnn-finetune/0.6.0/", "requires_dist": null, "requires_python": ">=3.5", "summary": "Fine-tune pretrained Convolutional Neural Networks with PyTorch", "version": "0.6.0" }, "last_serial": 5632820, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "277ab986717399d9c6b6c2ba21ae8ecf", "sha256": "fa699a97f7ce95898490c777543bcf36edc17b7ba7ef09ec2b22c166c6c32b0b" }, "downloads": -1, "filename": "cnn_finetune-0.1.0.tar.gz", "has_sig": false, "md5_digest": "277ab986717399d9c6b6c2ba21ae8ecf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 8208, "upload_time": "2018-02-19T06:34:52", "url": "https://files.pythonhosted.org/packages/f8/e7/3c4c6d65cebd7dca364ee1967a16025740c83c252f74d9cb647997a18935/cnn_finetune-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "8e8b42b1e4b454f1139edff0eadddd42", "sha256": "9faad80625e73a7972e78f35d945a7c0cfc45d457a173f8e8268545d9fb58a8a" }, "downloads": -1, "filename": "cnn_finetune-0.1.1.tar.gz", "has_sig": false, "md5_digest": "8e8b42b1e4b454f1139edff0eadddd42", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 8203, "upload_time": "2018-02-19T06:36:06", "url": "https://files.pythonhosted.org/packages/ea/bd/a36374cc3df4e98138b786c1f48dd28f4662378f037a81fea72e5ad17133/cnn_finetune-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "760c167fff3474e5bd22706471ddd2ff", "sha256": "24b06a33e2f63e32e7fe6140d06873df6895d9c5a3ae4c80f12260dfbe0d5bc4" }, "downloads": -1, "filename": "cnn_finetune-0.1.2.tar.gz", "has_sig": false, "md5_digest": "760c167fff3474e5bd22706471ddd2ff", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 8220, "upload_time": "2018-02-19T06:45:23", "url": "https://files.pythonhosted.org/packages/2d/62/403dad1f5ee96eaa9131a6bd4a2823eee94752328ff2063d9eeb69dada1e/cnn_finetune-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "f4ceb351272df70257c93f86048506a7", "sha256": "d9ed6d0bbdabf284514d253aa88c924751e3d04125c837caf026742b621c8d72" }, "downloads": -1, "filename": "cnn_finetune-0.1.3.tar.gz", "has_sig": false, "md5_digest": "f4ceb351272df70257c93f86048506a7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9208, "upload_time": "2018-02-19T07:03:43", "url": "https://files.pythonhosted.org/packages/ae/b9/a328bd2d10787d44019bf4897686117ff231eb8699c3a841d7a20f3fc957/cnn_finetune-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "7522068682a510ab29f9ac967c68cc07", "sha256": "8c71f83b6f42963995fcc7402d51401365682a738db5c53bce982e3b71342b37" }, "downloads": -1, "filename": "cnn_finetune-0.1.4.tar.gz", "has_sig": false, "md5_digest": "7522068682a510ab29f9ac967c68cc07", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9582, "upload_time": "2018-03-25T13:05:40", "url": "https://files.pythonhosted.org/packages/58/11/bd6aaad125bd7cd8af0f89998cb012d3bd04d14e0841bd06e79999060d20/cnn_finetune-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "623649d4024e9ce586281a7d6a1db556", "sha256": "96ae782a05757ea9b3fbb570ed446f895728157a85b5fd04bfe0db35663abef5" }, "downloads": -1, "filename": "cnn_finetune-0.1.5.tar.gz", "has_sig": false, "md5_digest": "623649d4024e9ce586281a7d6a1db556", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9582, "upload_time": "2018-03-26T07:10:52", "url": "https://files.pythonhosted.org/packages/d2/9b/116d99b7363e7a22f72c3ea02be8aefd8758e96e232411a3ca1a6a10ddda/cnn_finetune-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "038c0e218a4039877a8989458e05823f", "sha256": "f3c6280773c79d7426e74125fea7ee2a66f62ac622ed91dd51002db00d600137" }, "downloads": -1, "filename": "cnn_finetune-0.1.6.tar.gz", "has_sig": false, "md5_digest": "038c0e218a4039877a8989458e05823f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9592, "upload_time": "2018-04-07T05:50:03", "url": "https://files.pythonhosted.org/packages/ea/22/7cd61eacb8c3595539136f578bd3963cd73555ed22f5ff16dce11ce945a9/cnn_finetune-0.1.6.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "3cb0e4a7d8a243bbd3a2b7e0d75f7eae", "sha256": "a0fbd3f45e2a0ae7b05d0a84bcc08fb8c15f707c3b3fe4fea896cca714685735" }, "downloads": -1, "filename": "cnn_finetune-0.2.0.tar.gz", "has_sig": false, "md5_digest": "3cb0e4a7d8a243bbd3a2b7e0d75f7eae", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9751, "upload_time": "2018-04-21T05:04:48", "url": "https://files.pythonhosted.org/packages/7f/a2/654d5d239bfa20a7f3f0a497c0ffbf554ead8fcd924ae62a434ac1e90f15/cnn_finetune-0.2.0.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "d5479397849f6d1f25a3f972da5086a7", "sha256": "612ba3f053466e3215e1aad08375175538514140fbc1652598c05252face4ac2" }, "downloads": -1, "filename": "cnn_finetune-0.2.2.tar.gz", "has_sig": false, "md5_digest": "d5479397849f6d1f25a3f972da5086a7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9817, "upload_time": "2018-04-21T05:21:17", "url": "https://files.pythonhosted.org/packages/ab/01/3e8d53529416a6c6e40b0b61d96ad5d5051c34aae97411a23f88f15421b5/cnn_finetune-0.2.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "0968c6644ec79a56e68c21a6ff750d63", "sha256": "a2ab89efca11045bf94e929c0dd0e32d1bb21ad3fea0eaa8ec7baf27f436eb4f" }, "downloads": -1, "filename": "cnn_finetune-0.3.tar.gz", "has_sig": false, "md5_digest": "0968c6644ec79a56e68c21a6ff750d63", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 10262, "upload_time": "2018-04-22T10:12:56", "url": "https://files.pythonhosted.org/packages/91/d1/d4fc4e37025273f18ccc01e3d808f7228f453d7dbf1e39941973a1b40568/cnn_finetune-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "9795dc36a0501d1c91aa04f2454b188e", "sha256": "bb44b11bbbd78fc0c088c2b5a21e2599010e5aaba78bbb80b50aa5507281ad6e" }, "downloads": -1, "filename": "cnn_finetune-0.4.tar.gz", "has_sig": false, "md5_digest": "9795dc36a0501d1c91aa04f2454b188e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 10447, "upload_time": "2018-05-20T13:00:17", "url": "https://files.pythonhosted.org/packages/05/92/56340e6926f129d6ae305b70da6be7650c0112a44b227b2e98acb0b9403a/cnn_finetune-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "2aaab4d24165fd7f8c75dfda7671113e", "sha256": "f67d74fc6fef040ab3ae10bb2b54352097b3d687f265274a6718b99922a47f25" }, "downloads": -1, "filename": "cnn_finetune-0.5.tar.gz", "has_sig": false, "md5_digest": "2aaab4d24165fd7f8c75dfda7671113e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 10743, "upload_time": "2018-06-20T15:00:37", "url": "https://files.pythonhosted.org/packages/84/95/f1a4420936030c2876728be72f6b1c8b51b9129d231396776331c6c23e8d/cnn_finetune-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "5cf578480da8558ae61a054d05a68359", "sha256": "e0cf63185972cffde8a2778140f999aa25cc4e83d4fab98d429a8f844271374e" }, "downloads": -1, "filename": "cnn_finetune-0.5.1.tar.gz", "has_sig": false, "md5_digest": "5cf578480da8558ae61a054d05a68359", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 11401, "upload_time": "2018-08-22T15:29:52", "url": "https://files.pythonhosted.org/packages/21/c7/97f7056e0e82f3d25cb9049b133394d52ac3008be6887d3894b23465e7b3/cnn_finetune-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "6315c27dc0edc1201a843554866ee8bb", "sha256": "6fd65d6889a9d30a288cd7f28eb3daa2a6078d0cab06e85837f5921eb3926769" }, "downloads": -1, "filename": "cnn_finetune-0.5.2.tar.gz", "has_sig": false, "md5_digest": "6315c27dc0edc1201a843554866ee8bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10820, "upload_time": "2018-12-20T07:48:13", "url": "https://files.pythonhosted.org/packages/f5/11/a8a7d83d327ad4aafe6ab7ef8a533ff00dccc4300e2becd05fcdf4f38455/cnn_finetune-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "19a5885182976ec46e7c1441fc8eb135", "sha256": "c95075b5a5b460589d2fd7ece7ee7962a12dd266f8ecbe9b51b51f958419788b" }, "downloads": -1, "filename": "cnn_finetune-0.5.3.tar.gz", "has_sig": false, "md5_digest": "19a5885182976ec46e7c1441fc8eb135", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 10911, "upload_time": "2018-12-20T07:53:31", "url": "https://files.pythonhosted.org/packages/a6/8f/0f7078b376eaeb331cf99eb94a43cf700556cbcb146f1e4f042d21450aad/cnn_finetune-0.5.3.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "35b49ffbcfc63da9218576c2a76ecb84", "sha256": "557582afa0acfbdc93c4d18a34db0b34714086c1194f9731056fcb425a5937bd" }, "downloads": -1, "filename": "cnn_finetune-0.6.0.tar.gz", "has_sig": false, "md5_digest": "35b49ffbcfc63da9218576c2a76ecb84", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 11181, "upload_time": "2019-08-05T06:39:45", "url": "https://files.pythonhosted.org/packages/e4/63/03a442d31401c43fc17a814f22bd7c39ab8f13f42a6b2467ca0d0d042b3a/cnn_finetune-0.6.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "35b49ffbcfc63da9218576c2a76ecb84", "sha256": "557582afa0acfbdc93c4d18a34db0b34714086c1194f9731056fcb425a5937bd" }, "downloads": -1, "filename": "cnn_finetune-0.6.0.tar.gz", "has_sig": false, "md5_digest": "35b49ffbcfc63da9218576c2a76ecb84", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 11181, "upload_time": "2019-08-05T06:39:45", "url": "https://files.pythonhosted.org/packages/e4/63/03a442d31401c43fc17a814f22bd7c39ab8f13f42a6b2467ca0d0d042b3a/cnn_finetune-0.6.0.tar.gz" } ] }