{"id":823,"date":"2026-06-03T23:27:27","date_gmt":"2026-06-03T15:27:27","guid":{"rendered":"https:\/\/blog.nanoturtle.cn\/?p=823"},"modified":"2026-06-03T23:29:46","modified_gmt":"2026-06-03T15:29:46","slug":"cats-dogs-image-recognition","status":"publish","type":"post","link":"https:\/\/blog.nanoturtle.cn\/index.php\/2026\/06\/03\/cats-dogs-image-recognition\/","title":{"rendered":"\u5185\u5bb9\u8ddf\u8fdb\u00b7CatsDogs\u732b\u72d7\u56fe\u7247\u8bc6\u522b\u7a0b\u5e8f"},"content":{"rendered":"<div class=\"eb-aurora-container\" data-status=\"\u6458\u8981\u751f\u6210\u4e2d\" data-finished=\"\u6458\u8981\u5df2\u751f\u6210\">\n\t\t\t\t<div class=\"eb-aurora-inner\">\n\t\t\t\t\t<img class=\"eb-aurora-bg\" src=\"https:\/\/blog.nanoturtle.cn\/wp-content\/plugins\/xhtheme-ai-toolbox\/assets\/images\/aurora-bg.svg\" alt=\"\" \/>\n\t\t\t\t\t<div class=\"eb-aurora-status\">\n\t\t\t\t\t\t<div class=\"eb-aurora-tag\">\n\t\t\t\t\t\t\t<div class=\"eb-aurora-pulse\"><\/div>\n\t\t\t\t\t\t\t<span class=\"eb-aurora-status-text\">\u6458\u8981\u751f\u6210\u4e2d<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"eb-aurora-disclaimer\">AI\u751f\u6210\uff0c\u4ec5\u4f9b\u53c2\u8003<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"eb-aurora-content\">\n\t\t\t\t\t\t<span class=\"eb-aurora-text\" data-text=\"\u8fd9\u662f\u4e00\u4e2a\u57fa\u4e8ePyTorch\u7684\u732b\u72d7\u56fe\u7247\u8bc6\u522b\u9879\u76ee\uff0c\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u4e3a\u5b66\u4e60\u56fe\u50cf\u5206\u7c7b\u6d41\u7a0b\u63d0\u4f9b\u53ef\u8fd0\u884c\u793a\u4f8b\uff0c\u800c\u975e\u9762\u5411\u751f\u4ea7\u73af\u5883\u7684\u6210\u719f\u65b9\u6848\u3002\u9879\u76ee\u7531\u81ea\u7136\u8bed\u8a00\u5904\u7406\u5927\u6a21\u578b\u751f\u6210\uff0c\u56fe\u7247\u8d44\u6e90\u6765\u81eaimgnet\u6574\u5408\uff0c\u5df2\u5728ArchLinux\u4e0ePython3.12\u73af\u5883\u4e0b\u9a8c\u8bc1\u53ef\u8fd0\u884c\uff1b\u82e5\u76f4\u63a5\u4f7f\u7528\u5df2\u8bad\u7ec3\u6a21\u578b\uff0c\u53ef\u8df3\u8fc7\u8bad\u7ec3\u73af\u8282\uff0c\u4ec5\u9700\u6309\u4f9d\u8d56\u6e05\u5355\u914d\u7f6e\u76f8\u5173\u5e93\u3002\"><\/span><span class=\"eb-aurora-cursor\"><\/span>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n<p class=\"wp-block-paragraph\">\u672c\u6b21\u4e3b\u8981\u662f\u5206\u4eabGithub\u4ed3\u5e93\u3002<\/p>\n\n\n\n<div class=\"wp-block-mdx-github mdx-github-cot\" data-mdxgithuba=\"NanoTurtle1145\" data-mdxgithubp=\"catsdogs\" data-mdxgithubg=\"https:\/\/api.github.com\/\"><div class=\"mdx-github-wait-out-c2\"><div class=\"mdx-github-wait-out-c mdui-valign\"><div class=\"mdx-github-wait-out\"><div class=\"mdx-github-wait\"><a href=\"https:\/\/github.com\/NanoTurtle1145\/catsdogs\" target=\"_blank\" rel=\"noopener\"><div class=\"mdui-spinner\"><\/div><\/a><\/div><\/div><\/div><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">0x01 \u6982\u89c8<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u672c\u9879\u76ee\u7531\u67d0\u81ea\u7136\u8bed\u8a00\u5904\u7406\u5927\u6a21\u578b\u751f\u6210\uff0c\u4ec5\u4f9b\u4e8ePytorch\u7684\u5b66\u4e60\u4f7f\u7528\u3002\u56fe\u7247\u8d44\u6e90\u4e8eimgnet\u4e0b\u8f7d\u6574\u5408\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">0x02 \u4f7f\u7528\u8bf4\u660e<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u672c\u9879\u76ee\u5728Arch Linux\u4e0b\u4f7f\u7528Python3.12\u6210\u529f\u8fd0\u884c\uff0c\u5982\u679c\u4f7f\u7528\u5df2\u7ecf\u8bad\u7ec3\u597d\u7684\u6a21\u578b\u5219\u65e0\u9700\u8bad\u7ec3\u6a21\u578b\u76f8\u5173\u5e93\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">0x02-01 requirements\u4e00\u89c8<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>contourpy==1.3.3\ncuda-bindings==13.2.0\ncuda-pathfinder==1.5.4\ncuda-toolkit==13.0.2\ncycler==0.12.1\nfilelock==3.29.0\nfonttools==4.63.0\nfsspec==2026.4.0\nJinja2==3.1.6\nkiwisolver==1.5.0\nMarkupSafe==3.0.3\nmatplotlib==3.10.9\nmpmath==1.3.0\nnetworkx==3.6.1\nnumpy==2.4.6\nnvidia-cublas==13.1.1.3\nnvidia-cuda-cupti==13.0.85\nnvidia-cuda-nvrtc==13.0.88\nnvidia-cuda-runtime==13.0.96\nnvidia-cudnn-cu13==9.20.0.48\nnvidia-cufft==12.0.0.61\nnvidia-cufile==1.15.1.6\nnvidia-curand==10.4.0.35\nnvidia-cusolver==12.0.4.66\nnvidia-cusparse==12.6.3.3\nnvidia-cusparselt-cu13==0.8.1\nnvidia-nccl-cu13==2.29.7\nnvidia-nvjitlink==13.0.88\nnvidia-nvshmem-cu13==3.4.5\nnvidia-nvtx==13.0.85\npackaging==26.2\npillow==12.2.0\npyparsing==3.3.2\nPyQt6==6.11.0\nPyQt6-Qt6==6.11.1\nPyQt6_sip==13.11.1\npython-dateutil==2.9.0.post0\nsetuptools==81.0.0\nsix==1.17.0\nsympy==1.14.0\ntorch==2.12.0\ntorchaudio==2.11.0\ntorchvision==0.27.0\ntriton==3.7.0\ntyping_extensions==4.15.0<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u8fd9\u662f\u4e00\u4e2a\u57fa\u4e8ePyTorch\u7684\u732b\u72d7\u56fe\u7247\u8bc6\u522b\u9879\u76ee\uff0c\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u4e3a\u5b66\u4e60\u56fe\u50cf\u5206\u7c7b\u6d41\u7a0b\u63d0\u4f9b\u53ef\u8fd0\u884c\u793a\u4f8b\uff0c\u800c\u975e\u9762\u5411\u751f\u4ea7\u73af\u5883\u7684\u6210\u719f\u65b9\u6848\u3002\u9879\u76ee\u7531\u81ea\u7136\u8bed\u8a00\u5904\u7406\u5927\u6a21\u578b\u751f\u6210\uff0c\u56fe\u7247\u8d44\u6e90\u6765\u81eaimgnet\u6574\u5408\uff0c\u5df2\u5728ArchLinux\u4e0ePython3.12\u73af\u5883\u4e0b\u9a8c\u8bc1\u53ef\u8fd0\u884c\uff1b\u82e5\u76f4\u63a5\u4f7f\u7528\u5df2\u8bad\u7ec3\u6a21\u578b\uff0c\u53ef\u8df3\u8fc7\u8bad\u7ec3\u73af\u8282\uff0c\u4ec5\u9700\u6309\u4f9d\u8d56\u6e05\u5355\u914d\u7f6e\u76f8\u5173\u5e93\u3002<\/p>\n","protected":false},"author":1,"featured_media":830,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","_excerptai":2,"_xhaitool_aitasks":false,"_xhaitool_aitasks_status":false,"_aiimage_cueword":"","_aiimage_status":0,"_xhai_excerpt":"\u8fd9\u662f\u4e00\u4e2a\u57fa\u4e8ePyTorch\u7684\u732b\u72d7\u56fe\u7247\u8bc6\u522b\u9879\u76ee\uff0c\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u4e3a\u5b66\u4e60\u56fe\u50cf\u5206\u7c7b\u6d41\u7a0b\u63d0\u4f9b\u53ef\u8fd0\u884c\u793a\u4f8b\uff0c\u800c\u975e\u9762\u5411\u751f\u4ea7\u73af\u5883\u7684\u6210\u719f\u65b9\u6848\u3002\u9879\u76ee\u7531\u81ea\u7136\u8bed\u8a00\u5904\u7406\u5927\u6a21\u578b\u751f\u6210\uff0c\u56fe\u7247\u8d44\u6e90\u6765\u81eaimgnet\u6574\u5408\uff0c\u5df2\u5728ArchLinux\u4e0ePython3.12\u73af\u5883\u4e0b\u9a8c\u8bc1\u53ef\u8fd0\u884c\uff1b\u82e5\u76f4\u63a5\u4f7f\u7528\u5df2\u8bad\u7ec3\u6a21\u578b\uff0c\u53ef\u8df3\u8fc7\u8bad\u7ec3\u73af\u8282\uff0c\u4ec5\u9700\u6309\u4f9d\u8d56\u6e05\u5355\u914d\u7f6e\u76f8\u5173\u5e93\u3002","footnotes":""},"categories":[24],"tags":[18,62,21],"class_list":["post-823","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-24","tag-python","tag-image-classification","tag-21"],"uagb_featured_image_src":{"full":["https:\/\/cn-sy1.rains3.com\/ntblog\/2026\/06\/dog1674.jpg",500,374,false],"thumbnail":["https:\/\/cn-sy1.rains3.com\/ntblog\/2026\/06\/dog1674-150x150.jpg",150,150,true],"medium":["https:\/\/cn-sy1.rains3.com\/ntblog\/2026\/06\/dog1674-300x224.jpg",300,224,true],"medium_large":["https:\/\/cn-sy1.rains3.com\/ntblog\/2026\/06\/dog1674.jpg",500,374,false],"large":["https:\/\/cn-sy1.rains3.com\/ntblog\/2026\/06\/dog1674.jpg",500,374,false],"1536x1536":["https:\/\/cn-sy1.rains3.com\/ntblog\/2026\/06\/dog1674.jpg",500,374,false],"2048x2048":["https:\/\/cn-sy1.rains3.com\/ntblog\/2026\/06\/dog1674.jpg",500,374,false]},"uagb_author_info":{"display_name":"NanoTurtle","author_link":"https:\/\/blog.nanoturtle.cn\/author\/nanoturtle\/"},"uagb_comment_info":0,"uagb_excerpt":"\u8fd9\u662f\u4e00\u4e2a\u57fa\u4e8ePyTorch\u7684\u732b\u72d7\u56fe\u7247\u8bc6\u522b\u9879\u76ee\uff0c\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u4e3a\u5b66\u4e60\u56fe\u50cf\u5206\u7c7b\u6d41\u7a0b\u63d0\u4f9b\u53ef\u8fd0\u884c\u793a\u4f8b\uff0c\u800c\u975e\u9762\u5411\u751f\u4ea7\u73af\u5883\u7684&hellip;","_links":{"self":[{"href":"https:\/\/blog.nanoturtle.cn\/index.php\/wp-json\/wp\/v2\/posts\/823","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.nanoturtle.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.nanoturtle.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.nanoturtle.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.nanoturtle.cn\/index.php\/wp-json\/wp\/v2\/comments?post=823"}],"version-history":[{"count":5,"href":"https:\/\/blog.nanoturtle.cn\/index.php\/wp-json\/wp\/v2\/posts\/823\/revisions"}],"predecessor-version":[{"id":828,"href":"https:\/\/blog.nanoturtle.cn\/index.php\/wp-json\/wp\/v2\/posts\/823\/revisions\/828"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.nanoturtle.cn\/index.php\/wp-json\/wp\/v2\/media\/830"}],"wp:attachment":[{"href":"https:\/\/blog.nanoturtle.cn\/index.php\/wp-json\/wp\/v2\/media?parent=823"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.nanoturtle.cn\/index.php\/wp-json\/wp\/v2\/categories?post=823"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.nanoturtle.cn\/index.php\/wp-json\/wp\/v2\/tags?post=823"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}