{"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-card eb-custom\">\n\t\t\t\t<div class=\"eb-card-bgbox\"><\/div>\n\t\t\t\t<div class=\"eb-card-body\">\n\t\t\t\t\t<div class=\"eb-titlebox\">\n\t\t\t\t\t<span class=\"eb-titicon\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"xh-svg\" viewBox=\"0 0 16 16\"><path d=\"M7.657 6.247c.11-.33.576-.33.686 0l.645 1.937a2.89 2.89 0 0 0 1.829 1.828l1.936.645c.33.11.33.576 0 .686l-1.937.645a2.89 2.89 0 0 0-1.828 1.829l-.645 1.936a.361.361 0 0 1-.686 0l-.645-1.937a2.89 2.89 0 0 0-1.828-1.828l-1.937-.645a.361.361 0 0 1 0-.686l1.937-.645a2.89 2.89 0 0 0 1.828-1.828l.645-1.937zM3.794 1.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387A1.734 1.734 0 0 0 4.593 5.69l-.387 1.162a.217.217 0 0 1-.412 0L3.407 5.69A1.734 1.734 0 0 0 2.31 4.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387A1.734 1.734 0 0 0 3.407 2.31l.387-1.162zM10.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732L9.1 2.137a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L10.863.1z\"\/><\/svg><\/span>\n\t\t\t\t\t<span class=\"eb-title\">\u6458\u8981\u751f\u6210\u4e2d<\/span>\n\t\t\t\t\t<span class=\"eb-icon\"><svg t=\"1742538455943\" class=\"xh-svg\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" p-id=\"71517\" width=\"24\" height=\"24\"><path d=\"M554.144375 443.52552083L655.7121875 53.33333333 200 559.25333333l237.6478125 55.68-101.52 390.24 455.664375-505.96875z\" p-id=\"71518\" fill=\"currentColor\"><\/path><\/svg><\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"eb-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<\/div><div class=\"eb-desc\"><span>\u2014 AI\u751f\u6210\uff0c\u4ec5\u4f9b\u53c2\u8003<\/span><\/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":1,"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}]}}