{"id":18302484,"url":"https://github.com/amitrajitbose/cat-v-dog-classifier-pytorch","last_synced_at":"2025-04-05T14:31:35.100Z","repository":{"id":40983525,"uuid":"190910653","full_name":"amitrajitbose/cat-v-dog-classifier-pytorch","owner":"amitrajitbose","description":"End To End Deep Learning Project For Classifying Cat vs Dog Images, using PyTorch","archived":false,"fork":false,"pushed_at":"2023-07-22T07:52:15.000Z","size":29413,"stargazers_count":44,"open_issues_count":6,"forks_count":13,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-21T06:01:41.333Z","etag":null,"topics":["api","catvsdog-classifier","deep-learning","densenet-pytorch","flask-application","pytorch"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","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/amitrajitbose.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":"2019-06-08T16:31:26.000Z","updated_at":"2024-08-28T10:18:25.000Z","dependencies_parsed_at":"2023-01-21T13:45:55.979Z","dependency_job_id":null,"html_url":"https://github.com/amitrajitbose/cat-v-dog-classifier-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/amitrajitbose%2Fcat-v-dog-classifier-pytorch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amitrajitbose%2Fcat-v-dog-classifier-pytorch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amitrajitbose%2Fcat-v-dog-classifier-pytorch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amitrajitbose%2Fcat-v-dog-classifier-pytorch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amitrajitbose","download_url":"https://codeload.github.com/amitrajitbose/cat-v-dog-classifier-pytorch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247352641,"owners_count":20925309,"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":["api","catvsdog-classifier","deep-learning","densenet-pytorch","flask-application","pytorch"],"created_at":"2024-11-05T15:20:03.836Z","updated_at":"2025-04-05T14:31:30.088Z","avatar_url":"https://github.com/amitrajitbose.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"https://storage.googleapis.com/kaggle-competitions/kaggle/3362/media/woof_meow.jpg\"\u003e\n\u003c/p\u003e\n\n# Cat Vs Dog Classifier\n\n### About\n\nIn this project, we build an algorithm, a deep learning model to classify whether images contain either a dog or a cat.  This is easy for humans, dogs, and cats. Computers find it a bit more difficult.\n\n### Data\n\nThe dataset is available at Kaggle and has been provided officially by Microsoft Research.You can find it [here](https://www.kaggle.com/c/dogs-vs-cats/data).\n\n### Requirements\n\nWe recommend to create a virtual environment using [conda](https://anaconda.org/anaconda/conda) or [virtualenv](https://pypi.org/project/virtualenv/), and then setup environment using `pip install -r requirements.txt` for setting up the environment. We have used **Python 3.6.7** for development. Below is the detailed \n\n```\ntorch==1.1.0\ntorchvision==0.3.0\nFlask==1.0.3\nPillow==6.0.0\nnumpy==1.15.4\npandas==0.23.4\nmatplotlib==3.0.2\nrequests==2.22.0\n```\n\n### Benchmarks\n\nOur algorithm or model matched an average of 98% accuracy on test set. The best submission on Kaggle for the same is 98.9%. For more details you can check the [leaderboard](https://www.kaggle.com/c/dogs-vs-cats/leaderboard).\n\nBelow is the snapshot that was generated when we were training the model and validating its performance.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/amitrajitbose/cat-v-dog-classifier-pytorch/master/data/training.png\"\u003e\n\u003c/p\u003e\n\n### API (REST) Endpoint\n\n**Running The Server**\n\n- Run `python app.py` to start the server, with default port as `8123`. \n- To run on custom port, run `python app.py [PORT]`.\n\n**Accessing The API**\n\n\u003cdetails\u003e\n    \u003csummary\u003ecURL\u003c/summary\u003e\n\n    curl -X POST \\\n        http://127.0.0.1:8123/api \\\n        -H 'content-type: application/json' \\\n        -d '{\"url\":\"https://images.unsplash.com/photo-1491604612772-6853927639ef?ixlib=rb-1.2.1\u0026ixid=eyJhcHBfaWQiOjEyMDd9\u0026auto=format\u0026fit=crop\u0026w=334\u0026q=80\"}'\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003ePython\u003c/summary\u003e\n\n    \u003e\u003e\u003e import requests, os\n    \u003e\u003e\u003e url = 'http://127.0.0.1:8123/api'\n    \u003e\u003e\u003e data = {\n        \"url\":\"https://images.unsplash.com/photo-1491604612772-6853927639ef?ixlib=rb-1.2.1\u0026ixid=eyJhcHBfaWQiOjEyMDd9\u0026auto=format\u0026fit=crop\u0026w=334\u0026q=80\"\n    }\n    \u003e\u003e\u003e req = requests.post(url, json=data)\n    \u003e\u003e\u003e req.json()\n    {'class': 'dog', 'confidence': '0.8944258093833923'}\n    \n\u003c/details\u003e\n\n### Architecture\n\nWe used a 121-layer DenseNet with a custom classifier for training the above network. It was trained on a GPU and it took approximately 30 minutes for a single epoch. Below is the Keras styled in-detail model summary, generated using [torchsummary](https://pypi.org/project/torchsummary/).\n\n\u003cdetails\u003e\n  \u003csummary\u003eView Complete Architecture\u003c/summary\u003e\n\n```\n----------------------------------------------------------------\n        Layer (type)               Output Shape         Param #\n================================================================\n            Conv2d-1         [-1, 64, 122, 122]           9,408\n       BatchNorm2d-2         [-1, 64, 122, 122]             128\n              ReLU-3         [-1, 64, 122, 122]               0\n         MaxPool2d-4           [-1, 64, 61, 61]               0\n       BatchNorm2d-5           [-1, 64, 61, 61]             128\n              ReLU-6           [-1, 64, 61, 61]               0\n            Conv2d-7          [-1, 128, 61, 61]           8,192\n       BatchNorm2d-8          [-1, 128, 61, 61]             256\n              ReLU-9          [-1, 128, 61, 61]               0\n           Conv2d-10           [-1, 32, 61, 61]          36,864\n      BatchNorm2d-11           [-1, 96, 61, 61]             192\n             ReLU-12           [-1, 96, 61, 61]               0\n           Conv2d-13          [-1, 128, 61, 61]          12,288\n      BatchNorm2d-14          [-1, 128, 61, 61]             256\n             ReLU-15          [-1, 128, 61, 61]               0\n           Conv2d-16           [-1, 32, 61, 61]          36,864\n      BatchNorm2d-17          [-1, 128, 61, 61]             256\n             ReLU-18          [-1, 128, 61, 61]               0\n           Conv2d-19          [-1, 128, 61, 61]          16,384\n      BatchNorm2d-20          [-1, 128, 61, 61]             256\n             ReLU-21          [-1, 128, 61, 61]               0\n           Conv2d-22           [-1, 32, 61, 61]          36,864\n      BatchNorm2d-23          [-1, 160, 61, 61]             320\n             ReLU-24          [-1, 160, 61, 61]               0\n           Conv2d-25          [-1, 128, 61, 61]          20,480\n      BatchNorm2d-26          [-1, 128, 61, 61]             256\n             ReLU-27          [-1, 128, 61, 61]               0\n           Conv2d-28           [-1, 32, 61, 61]          36,864\n      BatchNorm2d-29          [-1, 192, 61, 61]             384\n             ReLU-30          [-1, 192, 61, 61]               0\n           Conv2d-31          [-1, 128, 61, 61]          24,576\n      BatchNorm2d-32          [-1, 128, 61, 61]             256\n             ReLU-33          [-1, 128, 61, 61]               0\n           Conv2d-34           [-1, 32, 61, 61]          36,864\n      BatchNorm2d-35          [-1, 224, 61, 61]             448\n             ReLU-36          [-1, 224, 61, 61]               0\n           Conv2d-37          [-1, 128, 61, 61]          28,672\n      BatchNorm2d-38          [-1, 128, 61, 61]             256\n             ReLU-39          [-1, 128, 61, 61]               0\n           Conv2d-40           [-1, 32, 61, 61]          36,864\n      BatchNorm2d-41          [-1, 256, 61, 61]             512\n             ReLU-42          [-1, 256, 61, 61]               0\n           Conv2d-43          [-1, 128, 61, 61]          32,768\n        AvgPool2d-44          [-1, 128, 30, 30]               0\n      BatchNorm2d-45          [-1, 128, 30, 30]             256\n             ReLU-46          [-1, 128, 30, 30]               0\n           Conv2d-47          [-1, 128, 30, 30]          16,384\n      BatchNorm2d-48          [-1, 128, 30, 30]             256\n             ReLU-49          [-1, 128, 30, 30]               0\n           Conv2d-50           [-1, 32, 30, 30]          36,864\n      BatchNorm2d-51          [-1, 160, 30, 30]             320\n             ReLU-52          [-1, 160, 30, 30]               0\n           Conv2d-53          [-1, 128, 30, 30]          20,480\n      BatchNorm2d-54          [-1, 128, 30, 30]             256\n             ReLU-55          [-1, 128, 30, 30]               0\n           Conv2d-56           [-1, 32, 30, 30]          36,864\n      BatchNorm2d-57          [-1, 192, 30, 30]             384\n             ReLU-58          [-1, 192, 30, 30]               0\n           Conv2d-59          [-1, 128, 30, 30]          24,576\n      BatchNorm2d-60          [-1, 128, 30, 30]             256\n             ReLU-61          [-1, 128, 30, 30]               0\n           Conv2d-62           [-1, 32, 30, 30]          36,864\n      BatchNorm2d-63          [-1, 224, 30, 30]             448\n             ReLU-64          [-1, 224, 30, 30]               0\n           Conv2d-65          [-1, 128, 30, 30]          28,672\n      BatchNorm2d-66          [-1, 128, 30, 30]             256\n             ReLU-67          [-1, 128, 30, 30]               0\n           Conv2d-68           [-1, 32, 30, 30]          36,864\n      BatchNorm2d-69          [-1, 256, 30, 30]             512\n             ReLU-70          [-1, 256, 30, 30]               0\n           Conv2d-71          [-1, 128, 30, 30]          32,768\n      BatchNorm2d-72          [-1, 128, 30, 30]             256\n             ReLU-73          [-1, 128, 30, 30]               0\n           Conv2d-74           [-1, 32, 30, 30]          36,864\n      BatchNorm2d-75          [-1, 288, 30, 30]             576\n             ReLU-76          [-1, 288, 30, 30]               0\n           Conv2d-77          [-1, 128, 30, 30]          36,864\n      BatchNorm2d-78          [-1, 128, 30, 30]             256\n             ReLU-79          [-1, 128, 30, 30]               0\n           Conv2d-80           [-1, 32, 30, 30]          36,864\n      BatchNorm2d-81          [-1, 320, 30, 30]             640\n             ReLU-82          [-1, 320, 30, 30]               0\n           Conv2d-83          [-1, 128, 30, 30]          40,960\n      BatchNorm2d-84          [-1, 128, 30, 30]             256\n             ReLU-85          [-1, 128, 30, 30]               0\n           Conv2d-86           [-1, 32, 30, 30]          36,864\n      BatchNorm2d-87          [-1, 352, 30, 30]             704\n             ReLU-88          [-1, 352, 30, 30]               0\n           Conv2d-89          [-1, 128, 30, 30]          45,056\n      BatchNorm2d-90          [-1, 128, 30, 30]             256\n             ReLU-91          [-1, 128, 30, 30]               0\n           Conv2d-92           [-1, 32, 30, 30]          36,864\n      BatchNorm2d-93          [-1, 384, 30, 30]             768\n             ReLU-94          [-1, 384, 30, 30]               0\n           Conv2d-95          [-1, 128, 30, 30]          49,152\n      BatchNorm2d-96          [-1, 128, 30, 30]             256\n             ReLU-97          [-1, 128, 30, 30]               0\n           Conv2d-98           [-1, 32, 30, 30]          36,864\n      BatchNorm2d-99          [-1, 416, 30, 30]             832\n            ReLU-100          [-1, 416, 30, 30]               0\n          Conv2d-101          [-1, 128, 30, 30]          53,248\n     BatchNorm2d-102          [-1, 128, 30, 30]             256\n            ReLU-103          [-1, 128, 30, 30]               0\n          Conv2d-104           [-1, 32, 30, 30]          36,864\n     BatchNorm2d-105          [-1, 448, 30, 30]             896\n            ReLU-106          [-1, 448, 30, 30]               0\n          Conv2d-107          [-1, 128, 30, 30]          57,344\n     BatchNorm2d-108          [-1, 128, 30, 30]             256\n            ReLU-109          [-1, 128, 30, 30]               0\n          Conv2d-110           [-1, 32, 30, 30]          36,864\n     BatchNorm2d-111          [-1, 480, 30, 30]             960\n            ReLU-112          [-1, 480, 30, 30]               0\n          Conv2d-113          [-1, 128, 30, 30]          61,440\n     BatchNorm2d-114          [-1, 128, 30, 30]             256\n            ReLU-115          [-1, 128, 30, 30]               0\n          Conv2d-116           [-1, 32, 30, 30]          36,864\n     BatchNorm2d-117          [-1, 512, 30, 30]           1,024\n            ReLU-118          [-1, 512, 30, 30]               0\n          Conv2d-119          [-1, 256, 30, 30]         131,072\n       AvgPool2d-120          [-1, 256, 15, 15]               0\n     BatchNorm2d-121          [-1, 256, 15, 15]             512\n            ReLU-122          [-1, 256, 15, 15]               0\n          Conv2d-123          [-1, 128, 15, 15]          32,768\n     BatchNorm2d-124          [-1, 128, 15, 15]             256\n            ReLU-125          [-1, 128, 15, 15]               0\n          Conv2d-126           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-127          [-1, 288, 15, 15]             576\n            ReLU-128          [-1, 288, 15, 15]               0\n          Conv2d-129          [-1, 128, 15, 15]          36,864\n     BatchNorm2d-130          [-1, 128, 15, 15]             256\n            ReLU-131          [-1, 128, 15, 15]               0\n          Conv2d-132           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-133          [-1, 320, 15, 15]             640\n            ReLU-134          [-1, 320, 15, 15]               0\n          Conv2d-135          [-1, 128, 15, 15]          40,960\n     BatchNorm2d-136          [-1, 128, 15, 15]             256\n            ReLU-137          [-1, 128, 15, 15]               0\n          Conv2d-138           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-139          [-1, 352, 15, 15]             704\n            ReLU-140          [-1, 352, 15, 15]               0\n          Conv2d-141          [-1, 128, 15, 15]          45,056\n     BatchNorm2d-142          [-1, 128, 15, 15]             256\n            ReLU-143          [-1, 128, 15, 15]               0\n          Conv2d-144           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-145          [-1, 384, 15, 15]             768\n            ReLU-146          [-1, 384, 15, 15]               0\n          Conv2d-147          [-1, 128, 15, 15]          49,152\n     BatchNorm2d-148          [-1, 128, 15, 15]             256\n            ReLU-149          [-1, 128, 15, 15]               0\n          Conv2d-150           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-151          [-1, 416, 15, 15]             832\n            ReLU-152          [-1, 416, 15, 15]               0\n          Conv2d-153          [-1, 128, 15, 15]          53,248\n     BatchNorm2d-154          [-1, 128, 15, 15]             256\n            ReLU-155          [-1, 128, 15, 15]               0\n          Conv2d-156           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-157          [-1, 448, 15, 15]             896\n            ReLU-158          [-1, 448, 15, 15]               0\n          Conv2d-159          [-1, 128, 15, 15]          57,344\n     BatchNorm2d-160          [-1, 128, 15, 15]             256\n            ReLU-161          [-1, 128, 15, 15]               0\n          Conv2d-162           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-163          [-1, 480, 15, 15]             960\n            ReLU-164          [-1, 480, 15, 15]               0\n          Conv2d-165          [-1, 128, 15, 15]          61,440\n     BatchNorm2d-166          [-1, 128, 15, 15]             256\n            ReLU-167          [-1, 128, 15, 15]               0\n          Conv2d-168           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-169          [-1, 512, 15, 15]           1,024\n            ReLU-170          [-1, 512, 15, 15]               0\n          Conv2d-171          [-1, 128, 15, 15]          65,536\n     BatchNorm2d-172          [-1, 128, 15, 15]             256\n            ReLU-173          [-1, 128, 15, 15]               0\n          Conv2d-174           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-175          [-1, 544, 15, 15]           1,088\n            ReLU-176          [-1, 544, 15, 15]               0\n          Conv2d-177          [-1, 128, 15, 15]          69,632\n     BatchNorm2d-178          [-1, 128, 15, 15]             256\n            ReLU-179          [-1, 128, 15, 15]               0\n          Conv2d-180           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-181          [-1, 576, 15, 15]           1,152\n            ReLU-182          [-1, 576, 15, 15]               0\n          Conv2d-183          [-1, 128, 15, 15]          73,728\n     BatchNorm2d-184          [-1, 128, 15, 15]             256\n            ReLU-185          [-1, 128, 15, 15]               0\n          Conv2d-186           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-187          [-1, 608, 15, 15]           1,216\n            ReLU-188          [-1, 608, 15, 15]               0\n          Conv2d-189          [-1, 128, 15, 15]          77,824\n     BatchNorm2d-190          [-1, 128, 15, 15]             256\n            ReLU-191          [-1, 128, 15, 15]               0\n          Conv2d-192           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-193          [-1, 640, 15, 15]           1,280\n            ReLU-194          [-1, 640, 15, 15]               0\n          Conv2d-195          [-1, 128, 15, 15]          81,920\n     BatchNorm2d-196          [-1, 128, 15, 15]             256\n            ReLU-197          [-1, 128, 15, 15]               0\n          Conv2d-198           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-199          [-1, 672, 15, 15]           1,344\n            ReLU-200          [-1, 672, 15, 15]               0\n          Conv2d-201          [-1, 128, 15, 15]          86,016\n     BatchNorm2d-202          [-1, 128, 15, 15]             256\n            ReLU-203          [-1, 128, 15, 15]               0\n          Conv2d-204           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-205          [-1, 704, 15, 15]           1,408\n            ReLU-206          [-1, 704, 15, 15]               0\n          Conv2d-207          [-1, 128, 15, 15]          90,112\n     BatchNorm2d-208          [-1, 128, 15, 15]             256\n            ReLU-209          [-1, 128, 15, 15]               0\n          Conv2d-210           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-211          [-1, 736, 15, 15]           1,472\n            ReLU-212          [-1, 736, 15, 15]               0\n          Conv2d-213          [-1, 128, 15, 15]          94,208\n     BatchNorm2d-214          [-1, 128, 15, 15]             256\n            ReLU-215          [-1, 128, 15, 15]               0\n          Conv2d-216           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-217          [-1, 768, 15, 15]           1,536\n            ReLU-218          [-1, 768, 15, 15]               0\n          Conv2d-219          [-1, 128, 15, 15]          98,304\n     BatchNorm2d-220          [-1, 128, 15, 15]             256\n            ReLU-221          [-1, 128, 15, 15]               0\n          Conv2d-222           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-223          [-1, 800, 15, 15]           1,600\n            ReLU-224          [-1, 800, 15, 15]               0\n          Conv2d-225          [-1, 128, 15, 15]         102,400\n     BatchNorm2d-226          [-1, 128, 15, 15]             256\n            ReLU-227          [-1, 128, 15, 15]               0\n          Conv2d-228           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-229          [-1, 832, 15, 15]           1,664\n            ReLU-230          [-1, 832, 15, 15]               0\n          Conv2d-231          [-1, 128, 15, 15]         106,496\n     BatchNorm2d-232          [-1, 128, 15, 15]             256\n            ReLU-233          [-1, 128, 15, 15]               0\n          Conv2d-234           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-235          [-1, 864, 15, 15]           1,728\n            ReLU-236          [-1, 864, 15, 15]               0\n          Conv2d-237          [-1, 128, 15, 15]         110,592\n     BatchNorm2d-238          [-1, 128, 15, 15]             256\n            ReLU-239          [-1, 128, 15, 15]               0\n          Conv2d-240           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-241          [-1, 896, 15, 15]           1,792\n            ReLU-242          [-1, 896, 15, 15]               0\n          Conv2d-243          [-1, 128, 15, 15]         114,688\n     BatchNorm2d-244          [-1, 128, 15, 15]             256\n            ReLU-245          [-1, 128, 15, 15]               0\n          Conv2d-246           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-247          [-1, 928, 15, 15]           1,856\n            ReLU-248          [-1, 928, 15, 15]               0\n          Conv2d-249          [-1, 128, 15, 15]         118,784\n     BatchNorm2d-250          [-1, 128, 15, 15]             256\n            ReLU-251          [-1, 128, 15, 15]               0\n          Conv2d-252           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-253          [-1, 960, 15, 15]           1,920\n            ReLU-254          [-1, 960, 15, 15]               0\n          Conv2d-255          [-1, 128, 15, 15]         122,880\n     BatchNorm2d-256          [-1, 128, 15, 15]             256\n            ReLU-257          [-1, 128, 15, 15]               0\n          Conv2d-258           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-259          [-1, 992, 15, 15]           1,984\n            ReLU-260          [-1, 992, 15, 15]               0\n          Conv2d-261          [-1, 128, 15, 15]         126,976\n     BatchNorm2d-262          [-1, 128, 15, 15]             256\n            ReLU-263          [-1, 128, 15, 15]               0\n          Conv2d-264           [-1, 32, 15, 15]          36,864\n     BatchNorm2d-265         [-1, 1024, 15, 15]           2,048\n            ReLU-266         [-1, 1024, 15, 15]               0\n          Conv2d-267          [-1, 512, 15, 15]         524,288\n       AvgPool2d-268            [-1, 512, 7, 7]               0\n     BatchNorm2d-269            [-1, 512, 7, 7]           1,024\n            ReLU-270            [-1, 512, 7, 7]               0\n          Conv2d-271            [-1, 128, 7, 7]          65,536\n     BatchNorm2d-272            [-1, 128, 7, 7]             256\n            ReLU-273            [-1, 128, 7, 7]               0\n          Conv2d-274             [-1, 32, 7, 7]          36,864\n     BatchNorm2d-275            [-1, 544, 7, 7]           1,088\n            ReLU-276            [-1, 544, 7, 7]               0\n          Conv2d-277            [-1, 128, 7, 7]          69,632\n     BatchNorm2d-278            [-1, 128, 7, 7]             256\n            ReLU-279            [-1, 128, 7, 7]               0\n          Conv2d-280             [-1, 32, 7, 7]          36,864\n     BatchNorm2d-281            [-1, 576, 7, 7]           1,152\n            ReLU-282            [-1, 576, 7, 7]               0\n          Conv2d-283            [-1, 128, 7, 7]          73,728\n     BatchNorm2d-284            [-1, 128, 7, 7]             256\n            ReLU-285            [-1, 128, 7, 7]               0\n          Conv2d-286             [-1, 32, 7, 7]          36,864\n     BatchNorm2d-287            [-1, 608, 7, 7]           1,216\n            ReLU-288            [-1, 608, 7, 7]               0\n          Conv2d-289            [-1, 128, 7, 7]          77,824\n     BatchNorm2d-290            [-1, 128, 7, 7]             256\n            ReLU-291            [-1, 128, 7, 7]               0\n          Conv2d-292             [-1, 32, 7, 7]          36,864\n     BatchNorm2d-293            [-1, 640, 7, 7]           1,280\n            ReLU-294            [-1, 640, 7, 7]               0\n          Conv2d-295            [-1, 128, 7, 7]          81,920\n     BatchNorm2d-296            [-1, 128, 7, 7]             256\n            ReLU-297            [-1, 128, 7, 7]               0\n          Conv2d-298             [-1, 32, 7, 7]          36,864\n     BatchNorm2d-299            [-1, 672, 7, 7]           1,344\n            ReLU-300            [-1, 672, 7, 7]               0\n          Conv2d-301            [-1, 128, 7, 7]          86,016\n     BatchNorm2d-302            [-1, 128, 7, 7]             256\n            ReLU-303            [-1, 128, 7, 7]               0\n          Conv2d-304             [-1, 32, 7, 7]          36,864\n     BatchNorm2d-305            [-1, 704, 7, 7]           1,408\n            ReLU-306            [-1, 704, 7, 7]               0\n          Conv2d-307            [-1, 128, 7, 7]          90,112\n     BatchNorm2d-308            [-1, 128, 7, 7]             256\n            ReLU-309            [-1, 128, 7, 7]               0\n          Conv2d-310             [-1, 32, 7, 7]          36,864\n     BatchNorm2d-311            [-1, 736, 7, 7]           1,472\n            ReLU-312            [-1, 736, 7, 7]               0\n          Conv2d-313            [-1, 128, 7, 7]          94,208\n     BatchNorm2d-314            [-1, 128, 7, 7]             256\n            ReLU-315            [-1, 128, 7, 7]               0\n          Conv2d-316             [-1, 32, 7, 7]          36,864\n     BatchNorm2d-317            [-1, 768, 7, 7]           1,536\n            ReLU-318            [-1, 768, 7, 7]               0\n          Conv2d-319            [-1, 128, 7, 7]          98,304\n     BatchNorm2d-320            [-1, 128, 7, 7]             256\n            ReLU-321            [-1, 128, 7, 7]               0\n          Conv2d-322             [-1, 32, 7, 7]          36,864\n     BatchNorm2d-323            [-1, 800, 7, 7]           1,600\n            ReLU-324            [-1, 800, 7, 7]               0\n          Conv2d-325            [-1, 128, 7, 7]         102,400\n     BatchNorm2d-326            [-1, 128, 7, 7]             256\n            ReLU-327            [-1, 128, 7, 7]               0\n          Conv2d-328             [-1, 32, 7, 7]          36,864\n     BatchNorm2d-329            [-1, 832, 7, 7]           1,664\n            ReLU-330            [-1, 832, 7, 7]               0\n          Conv2d-331            [-1, 128, 7, 7]         106,496\n     BatchNorm2d-332            [-1, 128, 7, 7]             256\n            ReLU-333            [-1, 128, 7, 7]               0\n          Conv2d-334             [-1, 32, 7, 7]          36,864\n     BatchNorm2d-335            [-1, 864, 7, 7]           1,728\n            ReLU-336            [-1, 864, 7, 7]               0\n          Conv2d-337            [-1, 128, 7, 7]         110,592\n     BatchNorm2d-338            [-1, 128, 7, 7]             256\n            ReLU-339            [-1, 128, 7, 7]               0\n          Conv2d-340             [-1, 32, 7, 7]          36,864\n     BatchNorm2d-341            [-1, 896, 7, 7]           1,792\n            ReLU-342            [-1, 896, 7, 7]               0\n          Conv2d-343            [-1, 128, 7, 7]         114,688\n     BatchNorm2d-344            [-1, 128, 7, 7]             256\n            ReLU-345            [-1, 128, 7, 7]               0\n          Conv2d-346             [-1, 32, 7, 7]          36,864\n     BatchNorm2d-347            [-1, 928, 7, 7]           1,856\n            ReLU-348            [-1, 928, 7, 7]               0\n          Conv2d-349            [-1, 128, 7, 7]         118,784\n     BatchNorm2d-350            [-1, 128, 7, 7]             256\n            ReLU-351            [-1, 128, 7, 7]               0\n          Conv2d-352             [-1, 32, 7, 7]          36,864\n     BatchNorm2d-353            [-1, 960, 7, 7]           1,920\n            ReLU-354            [-1, 960, 7, 7]               0\n          Conv2d-355            [-1, 128, 7, 7]         122,880\n     BatchNorm2d-356            [-1, 128, 7, 7]             256\n            ReLU-357            [-1, 128, 7, 7]               0\n          Conv2d-358             [-1, 32, 7, 7]          36,864\n     BatchNorm2d-359            [-1, 992, 7, 7]           1,984\n            ReLU-360            [-1, 992, 7, 7]               0\n          Conv2d-361            [-1, 128, 7, 7]         126,976\n     BatchNorm2d-362            [-1, 128, 7, 7]             256\n            ReLU-363            [-1, 128, 7, 7]               0\n          Conv2d-364             [-1, 32, 7, 7]          36,864\n     BatchNorm2d-365           [-1, 1024, 7, 7]           2,048\n          Linear-366                  [-1, 512]         524,800\n            ReLU-367                  [-1, 512]               0\n         Dropout-368                  [-1, 512]               0\n          Linear-369                  [-1, 256]         131,328\n            ReLU-370                  [-1, 256]               0\n         Dropout-371                  [-1, 256]               0\n          Linear-372                    [-1, 2]             514\n      LogSoftmax-373                    [-1, 2]               0\n================================================================\nTotal params: 7,610,498\nTrainable params: 7,610,498\nNon-trainable params: 0\n----------------------------------------------------------------\nInput size (MB): 0.68\nForward/backward pass size (MB): 341.21\nParams size (MB): 29.03\nEstimated Total Size (MB): 370.92\n----------------------------------------------------------------\n\n```\n\u003c/details\u003e\n\n### Related Papers\n\n- [Machine Learning Attacks Against the Asirra CAPTCHA](http://xenon.stanford.edu/~pgolle/papers/dogcat.pdf)\n- [Densely Connected Convolutional Networks](https://arxiv.org/abs/1608.06993)\n- [An Optical Frontend for a Convolutional Neural Network](https://arxiv.org/pdf/1901.03661.pdf)\n\n### Team\n\n- [Amitrajit Bose](https://www.linkedin.com/in/amitrajitbose/)\n\n### Issues\n\nFeel free to submit any issues.\n\n### Contributions\n\nCurrently open to only issues and bug fix related PRs. Feel free to solve an issue and submit a PR.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famitrajitbose%2Fcat-v-dog-classifier-pytorch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famitrajitbose%2Fcat-v-dog-classifier-pytorch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famitrajitbose%2Fcat-v-dog-classifier-pytorch/lists"}