﻿{"id":4041,"date":"2025-12-02T18:19:18","date_gmt":"2025-12-02T10:19:18","guid":{"rendered":"https:\/\/www.leexinghai.com\/aic\/?p=4041"},"modified":"2025-12-02T18:19:23","modified_gmt":"2025-12-02T10:19:23","slug":"zy2","status":"publish","type":"post","link":"https:\/\/www.leexinghai.com\/aic\/zy2\/","title":{"rendered":"H51130-\u300a\u519c\u4e1a\u4fe1\u606f\u6280\u672f\u300b\u4f5c\u4e1a2"},"content":{"rendered":"\n<h2 class=\"wp-block-heading has-text-align-center\">\u4f5c\u4e1a\u5185\u5bb9<\/h2>\n\n\n\n<p>\u57fa\u4e8e\u6df1\u5ea6\u5b66\u4e60\u65b9\u6cd5\u6784\u5efa\u519c\u4f5c\u7269\u75c5\u866b\u5bb3\u667a\u80fd\u5316\u8bc6\u522b\u7cfb\u7edf\uff0c\u6539\u53d8\u4f20\u7edf\u75c5\u866b\u5bb3\u8bca\u65ad\u6a21\u5f0f\uff0c\u63d0\u9ad8\u75c5\u866b\u5bb3\u76d1\u6d4b\u9884\u8b66\u548c\u79d1\u5b66\u9632\u6cbb\u6c34\u5e73\uff0c\u5df2\u7ecf\u6210\u4e3a\u519c\u4e1a\u751f\u4ea7\u7684\u8feb\u5207\u8981\u6c42\u548c\u53d1\u5c55\u8d8b\u52bf\u3002\u8bf7\u8bbe\u8ba1\u4e00\u4e2a\u57fa\u4e8e\u6df1\u5ea6\u5b66\u4e60\u65b9\u6cd5\u7684\u519c\u4f5c\u7269\u75c5\u866b\u5bb3\u667a\u80fd\u5316\u8bc6\u522b\u7cfb\u7edf\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">\u53c2\u8003\u6b65\u9aa4<\/h2>\n\n\n\n<p>\u4e3a\u4e86\u8bbe\u8ba1\u51fa\u65e2\u7b26\u5408\u5b66\u672f\u6807\u51c6\u53c8\u80fd\u843d\u5730\u7684\u7cfb\u7edf\uff0c\u6211\u4eec\u9700\u8981\u5c06\u8fd9\u4e2a\u5927\u4efb\u52a1\u62c6\u89e3\u4e3a\u51e0\u4e2a\u5173\u952e\u6a21\u5757\u3002\u6211\u4eec\u53ef\u4ee5\u628a\u8fd9\u4e2a\u7cfb\u7edf\u770b\u4f5c\u662f\u7531\u4e09\u4e2a\u6838\u5fc3\u652f\u67f1\u652f\u6491\u8d77\u6765\u7684\u7ed3\u6784\u3002<\/p>\n\n\n\n<p>\u5f15\u5165\uff1a<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>\u6838\u5fc3\u7b97\u6cd5\u4e0e\u6a21\u578b\u67b6\u6784 (Core Algorithms)<\/strong> \u6211\u4eec\u662f\u91c7\u7528\u7ecf\u5178\u7684\u5377\u79ef\u795e\u7ecf\u7f51\u7edc (CNN\uff0c\u5982 ResNet, EfficientNet)\uff0c\u8fd8\u662f\u63a2\u7d22\u57fa\u4e8e\u6ce8\u610f\u529b\u673a\u5236\u7684 Vision Transformer (ViT)\uff1f\u6216\u8005\u9488\u5bf9\u75c5\u6591\u5fae\u5c0f\u7684\u7279\u70b9\uff0c\u8bbe\u8ba1\u4e13\u95e8\u7684\u7ec6\u7c92\u5ea6\u8bc6\u522b\u6a21\u5757\uff1f<\/li>\n\n\n\n<li><strong>\u6570\u636e\u7b56\u7565\u4e0e\u8d28\u91cf\u63a7\u5236 (Data Strategy)<\/strong> \u6df1\u5ea6\u5b66\u4e60\u662f\u201c\u6570\u636e\u9a71\u52a8\u201d\u7684\u3002\u73b0\u5b9e\u4e2d\u5f80\u5f80\u9762\u4e34\u75c5\u5bb3\u6837\u672c\u5206\u5e03\u4e0d\u5747\u3001\u80cc\u666f\u590d\u6742\uff08\u5149\u7167\u3001\u906e\u6321\uff09\u7b49\u95ee\u9898\u3002\u6211\u4eec\u9700\u8981\u8bbe\u8ba1\u600e\u6837\u7684\u6570\u636e\u589e\u5f3a\u6216\u9884\u5904\u7406\u6d41\u7a0b\u6765\u89e3\u51b3\u8fd9\u4e9b\u75db\u70b9\uff1f<\/li>\n\n\n\n<li><strong>\u7cfb\u7edf\u90e8\u7f72\u4e0e\u5e94\u7528\u573a\u666f (Deployment &amp; Application)<\/strong> \u4f60\u7684\u76ee\u6807\u573a\u666f\u662f\u600e\u6837\u7684\uff1f\u662f\u5e0c\u671b\u519c\u6c11\u5728\u624b\u673a\u7aef\u79bb\u7ebf\u5b9e\u65f6\u8bc6\u522b\uff08\u6d89\u53ca\u5230\u6a21\u578b\u8f7b\u91cf\u5316\u3001\u526a\u679d\u3001\u91cf\u5316\uff09\uff0c\u8fd8\u662f\u901a\u8fc7\u65e0\u4eba\u673a\u5de1\u68c0\u4e0a\u4f20\u5230\u4e91\u7aef\u670d\u52a1\u5668\u5904\u7406\uff1f<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">1.\u6838\u5fc3\u7b97\u6cd5\u4e0e\u6a21\u578b\u67b6\u6784<\/h2>\n\n\n\n<p>\u6a21\u578b\u662f\u6574\u4e2a\u7cfb\u7edf\u7684\u201c\u5927\u8111\u201d \ud83e\udde0\uff0c\u5b83\u7684\u9009\u62e9\u76f4\u63a5\u51b3\u5b9a\u4e86\u8bc6\u522b\u7684\u51c6\u786e\u7387\u548c\u901f\u5ea6\u3002<\/p>\n\n\n\n<p>\u5728\u519c\u4f5c\u7269\u75c5\u866b\u5bb3\u8bc6\u522b\u8fd9\u4e2a\u9886\u57df\uff0c\u76ee\u524d\u4e3b\u8981\u6709\u4e24\u5927\u7c7b\u4e3b\u6d41\u67b6\u6784\u3002\u6211\u4eec\u53ef\u4ee5\u5148\u4e86\u89e3\u4e00\u4e0b\u5b83\u4eec\u7684\u7279\u70b9\uff0c\u518d\u7ed3\u5408\u5177\u4f53\u9700\u6c42\u6765\u505a\u9009\u62e9\uff1a<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>\u5377\u79ef\u795e\u7ecf\u7f51\u7edc (CNN)<\/strong>\uff1a\u8fd9\u662f\u56fe\u50cf\u5904\u7406\u7684\u201c\u8001\u724c\u52b2\u65c5\u201d\u3002\u50cf ResNet, MobileNet, EfficientNet \u8fd9\u4e9b\u6a21\u578b\uff0c\u975e\u5e38\u64c5\u957f\u63d0\u53d6\u5c40\u90e8\u7279\u5f81\uff08\u6bd4\u5982\u53f6\u7247\u4e0a\u7684\u4e00\u4e2a\u5c0f\u75c5\u6591\u7684\u7eb9\u7406\uff09\u3002\u5b83\u4eec\u7684\u4f18\u52bf\u662f\u8bad\u7ec3\u6bd4\u8f83\u7a33\u5b9a\uff0c\u5bf9\u6570\u636e\u91cf\u7684\u8981\u6c42\u76f8\u5bf9\u8f83\u4f4e\uff0c\u4e14\u63a8\u7406\u901f\u5ea6\u901a\u5e38\u8f83\u5feb\u3002<\/li>\n\n\n\n<li><strong>\u89c6\u89c9 Transformer (ViT)<\/strong>\uff1a\u8fd9\u662f\u8fd1\u5e74\u6765\u7684\u201c\u65b0\u661f\u201d\u3002\u5b83\u901a\u8fc7\u6ce8\u610f\u529b\u673a\u5236\uff08Self-Attention\uff09\u6765\u6355\u6349\u56fe\u50cf\u7684\u5168\u5c40\u4fe1\u606f\uff08\u6bd4\u5982\u75c5\u6591\u5728\u6574\u7247\u53f6\u5b50\u4e0a\u7684\u5206\u5e03\u6a21\u5f0f\uff09\u3002\u5b83\u7684\u4f18\u52bf\u662f\u5728\u5927\u6570\u636e\u96c6\u4e0a\u5f80\u5f80\u80fd\u8fbe\u5230\u66f4\u9ad8\u7684\u7cbe\u5ea6\u4e0a\u9650\uff0c\u4f46\u901a\u5e38\u8ba1\u7b97\u91cf\u66f4\u5927\uff0c\u4e14\u5bf9\u6570\u636e\u91cf\u7684\u201c\u80c3\u53e3\u201d\u66f4\u5927\u3002<\/li>\n<\/ol>\n\n\n\n<p>\u5047\u8bbe\u6211\u4eec\u7684<strong>\u5e94\u7528\u573a\u666f<\/strong>\u4e3b\u8981\u662f\u8bc6\u522b\u660e\u663e\u7684\u75c5\u5bb3\u79cd\u7c7b\uff08\u6bd4\u5982\u201c\u7a3b\u761f\u75c5\u201d vs \u201c\u5065\u5eb7\u201d\uff09\uff0c\u75c5\u6591\u901a\u5e38\u6bd4\u8f83\u660e\u663e\uff0c\u7279\u5f81\u6bd4\u8f83\u5178\u578b\u3002<\/p>\n\n\n\n<p>\u9488\u5bf9 <strong>\u8bc6\u522b\u660e\u663e\u7279\u5f81\u3001\u8ffd\u6c42\u7a33\u5b9a\u6027<\/strong>\uff0c\u6700\u9002\u5408\u7684\u65b9\u6848\u5c31\u662f\u4f7f\u7528\u6210\u719f\u7684 <strong>\u5377\u79ef\u795e\u7ecf\u7f51\u7edc (CNN)<\/strong> \u914d\u5408 <strong>\u8fc1\u79fb\u5b66\u4e60 (Transfer Learning)<\/strong> \u6280\u672f\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e3a\u4ec0\u4e48\u9009 CNN + \u8fc1\u79fb\u5b66\u4e60\uff1f<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>\u6210\u719f\u7a33\u5b9a<\/strong>\uff1aCNN (\u5982 ResNet) \u5c31\u50cf\u662f\u56fe\u50cf\u8bc6\u522b\u9886\u57df\u7684\u201c\u745e\u58eb\u519b\u5200\u201d\uff0c\u4ee3\u7801\u5e93\u4e30\u5bcc\uff0c\u5751\u6bd4\u8f83\u5c11\uff0c\u9047\u5230\u62a5\u9519\u5f88\u5bb9\u6613\u5728\u7f51\u4e0a\u627e\u5230\u89e3\u51b3\u65b9\u6848\u3002<\/li>\n\n\n\n<li><strong>\u6570\u636e\u9700\u6c42\u4f4e<\/strong>\uff1a\u5bf9\u4e8e\u8bfe\u7a0b\u9879\u76ee\uff0c\u6536\u96c6\u51e0\u4e07\u5f20\u56fe\u7247\u5f88\u96be\u3002\u8fc1\u79fb\u5b66\u4e60\u5141\u8bb8\u6211\u4eec\u4f7f\u7528\u5728 ImageNet\uff08\u4e00\u4e2a\u5de8\u5927\u7684\u901a\u7528\u6570\u636e\u96c6\uff09\u4e0a\u9884\u8bad\u7ec3\u597d\u7684\u6a21\u578b\u6743\u91cd\uff0c\u53ea\u9700\u8981\u5c11\u91cf\u7684\u519c\u4f5c\u7269\u56fe\u7247\u8fdb\u884c\u201c\u5fae\u8c03\u201d\uff0c\u5c31\u80fd\u8fbe\u5230\u5f88\u9ad8\u7684\u7cbe\u5ea6\u3002<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"424\" src=\"https:\/\/www.leexinghai.com\/aic\/wp-content\/uploads\/2025\/11\/image-76-1024x424.png\" alt=\"\" class=\"wp-image-4052\" srcset=\"https:\/\/www.leexinghai.com\/aic\/wp-content\/uploads\/2025\/11\/image-76-1024x424.png 1024w, https:\/\/www.leexinghai.com\/aic\/wp-content\/uploads\/2025\/11\/image-76-300x124.png 300w, https:\/\/www.leexinghai.com\/aic\/wp-content\/uploads\/2025\/11\/image-76-768x318.png 768w, https:\/\/www.leexinghai.com\/aic\/wp-content\/uploads\/2025\/11\/image-76.png 1256w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u4e3a\u4e86\u5b9e\u73b0\u8fd9\u4e2a\u76ee\u6807\uff0c\u6211\u4eec\u5c06\u9501\u5b9a <strong>MobileNet V2<\/strong> \u4f5c\u4e3a\u6211\u4eec\u7684\u6838\u5fc3\u6a21\u578b\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e3a\u4ec0\u4e48\u9009\u62e9 MobileNet V2\uff1f<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>\u8f7b\u91cf\u7ea7<\/strong>\uff1a\u5b83\u7684\u53c2\u6570\u91cf\u975e\u5e38\u5c11\uff08\u53ea\u6709\u51e0\u5146\uff09\uff0c\u666e\u901a\u7684\u624b\u673a\u751a\u81f3\u6811\u8393\u6d3e\u90fd\u80fd\u8f7b\u677e\u8dd1\u8d77\u6765\u3002<\/li>\n\n\n\n<li><strong>\u73b0\u6210\u8d44\u6e90\u591a<\/strong>\uff1aPyTorch \u548c TensorFlow \u90fd\u5185\u7f6e\u4e86\u5b83\u7684\u9884\u8bad\u7ec3\u6a21\u578b\uff0c\u6211\u4eec\u53ef\u4ee5\u76f4\u63a5\u8c03\u7528\uff0c\u4e0d\u7528\u4ece\u5934\u5199\u4ee3\u7801\u3002<\/li>\n\n\n\n<li><strong>\u901f\u5ea6\u5feb<\/strong>\uff1a\u5b83\u4f7f\u7528\u4e86\u4e00\u79cd\u53eb\u505a\u201c\u6df1\u5ea6\u53ef\u5206\u79bb\u5377\u79ef\u201d\uff08Depthwise Separable Convolution\uff09\u7684\u6280\u672f\uff0c\u6781\u5927\u5730\u51cf\u5c11\u4e86\u8ba1\u7b97\u91cf\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u65e2\u7136\u6211\u4eec\u5df2\u7ecf\u786e\u5b9a\u4e86\u201c\u5927\u8111\u201d\uff08\u7b97\u6cd5\u6a21\u578b\uff09\uff0c\u73b0\u5728\u6211\u4eec\u9700\u8981\u7ed9\u5b83\u63d0\u4f9b\u201c\u77e5\u8bc6\u201d\uff08\u6570\u636e\uff09\u3002\u8fd9\u5c31\u8981\u8fdb\u5165\u6211\u4eec\u7684\u7b2c\u4e8c\u4e2a\u652f\u67f1\uff1a<strong>2. \u6570\u636e\u7b56\u7565\u4e0e\u8d28\u91cf\u63a7\u5236<\/strong>\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">2.\u6570\u636e\u7b56\u7565\u4e0e\u8d28\u91cf\u63a7\u5236<\/h2>\n\n\n\n<p>\u6a21\u578b\u518d\u597d\uff0c\u6ca1\u6709\u597d\u6570\u636e\u4e5f\u662f\u767d\u642d\u3002\u5bf9\u4e8e\u4e00\u4e2a\u8bfe\u7a0b\u7ed3\u8bfe\u9879\u76ee\uff0c\u6211\u4eec\u901a\u5e38\u6ca1\u6709\u65f6\u95f4\u548c\u7ecf\u8d39\u53bb\u7530\u95f4\u5730\u5934\u91c7\u96c6\u6570\u4e07\u5f20\u7167\u7247\u3002<\/p>\n\n\n\n<p>\u4e3a\u4e86\u5b9e\u73b0\u8fd9\u4e2a\u76ee\u6807\uff0c\u6211\u4eec\u9700\u8981\u4e00\u4e2a\u5305\u542b\u591a\u79cd\u4f5c\u7269\u548c\u75c5\u5bb3\u7684\u6807\u51c6\u6570\u636e\u96c6\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u6211\u4eec\u7684\u201c\u6838\u5fc3\u7cae\u4ed3\u201d\uff1aPlantVillage \u6570\u636e\u96c6<\/h3>\n\n\n\n<p>\u5bf9\u4e8e\u4f60\u7684\u9700\u6c42\uff0c\u76ee\u524d\u5b66\u672f\u754c\u548c\u5de5\u4e1a\u754c\u6700\u5e38\u7528\u7684\u8d77\u6b65\u6570\u636e\u96c6\u5c31\u662f <strong>PlantVillage<\/strong>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u89c4\u6a21<\/strong>\uff1a\u5305\u542b\u7ea6 54,000 \u5f20\u5065\u5eb7\u548c\u60a3\u75c5\u7684\u53f6\u7247\u56fe\u50cf\u3002<\/li>\n\n\n\n<li><strong>\u8986\u76d6<\/strong>\uff1a\u6db5\u76d6\u4e86 <strong>14 \u79cd\u4f5c\u7269<\/strong>\uff08\u5982\u82f9\u679c\u3001\u84dd\u8393\u3001\u7389\u7c73\u3001\u8461\u8404\u3001\u571f\u8c46\u3001\u756a\u8304\u7b49\uff09\u548c <strong>38 \u79cd\u7c7b\u522b<\/strong>\uff08\u5305\u62ec\u75c5\u5bb3\u548c\u5065\u5eb7\u72b6\u6001\uff09\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u52bf<\/strong>\uff1a\u7c7b\u522b\u6e05\u6670\uff0c\u6570\u636e\u91cf\u9002\u4e2d\uff0c\u975e\u5e38\u9002\u5408 MobileNet \u8fd9\u79cd\u8f7b\u91cf\u7ea7\u6a21\u578b\u8fdb\u884c\u8bad\u7ec3\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udea8 \u6f5c\u5728\u7684\u9690\u60a3\uff1a\u4ece\u201c\u5b9e\u9a8c\u5ba4\u201d\u5230\u201c\u7530\u95f4\u201d<\/h3>\n\n\n\n<p>\u867d\u7136 PlantVillage \u5f88\u597d\u7528\uff0c\u4f46\u5b83\u6709\u4e00\u4e2a\u81f4\u547d\u7684\u5f31\u70b9\uff1a<strong>\u5927\u90e8\u5206\u56fe\u7247\u90fd\u662f\u5728\u5b9e\u9a8c\u5ba4\u73af\u5883\u4e0b\u62cd\u6444\u7684<\/strong>\uff08\u80cc\u666f\u5355\u4e00\u3001\u5149\u7167\u5747\u5300\u3001\u53ea\u6709\u4e00\u7247\u53f6\u5b50\uff09\u3002<\/p>\n\n\n\n<p>\u5f53\u4f60\u62ff\u7740\u624b\u673a\u53bb\u771f\u6b63\u7684\u519c\u7530\u91cc\u626b\u4e00\u626b\u65f6\uff0c\u53ef\u80fd\u4f1a\u9047\u5230\uff1a<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>\u5149\u7167\u53d8\u5316<\/strong>\uff08\u5927\u592a\u9633\u6216\u8005\u9634\u5929\uff09\u3002<\/li>\n\n\n\n<li><strong>\u80cc\u666f\u6742\u4e71<\/strong>\uff08\u6709\u6ce5\u571f\u3001\u6742\u8349\u3001\u5176\u4ed6\u53f6\u5b50\uff09\u3002<\/li>\n\n\n\n<li><strong>\u62cd\u6444\u89d2\u5ea6<\/strong>\uff08\u7531\u4e8e\u624b\u6296\u6216\u89d2\u5ea6\u5201\u94bb\u5bfc\u81f4\u7684\u6a21\u7cca\u6216\u53d8\u5f62\uff09\u3002<\/li>\n<\/ol>\n\n\n\n<p>\u5982\u679c\u76f4\u63a5\u7528\u5e72\u51c0\u7684\u5b9e\u9a8c\u5ba4\u6570\u636e\u8bad\u7ec3\uff0c\u6a21\u578b\u5728\u771f\u5b9e\u573a\u666f\u4e0b\u5f88\u53ef\u80fd\u4f1a\u201c\u6c34\u571f\u4e0d\u670d\u201d\u3002\u4e3a\u4e86\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\uff0c\u6211\u4eec\u9700\u8981\u4f7f\u7528<strong>\u6570\u636e\u589e\u5f3a (Data Augmentation)<\/strong> \u6280\u672f\u3002<\/p>\n\n\n\n<p>\u8fd9\u5c31\u5f15\u51fa\u4e86\u6211\u4eec\u7684\u4e0b\u4e00\u4e2a\u95ee\u9898\uff1a<\/p>\n\n\n\n<p>\u4e3a\u4e86\u8ba9\u6a21\u578b\u5b66\u4f1a\u9002\u5e94\u201c\u810f\u4e71\u5dee\u201d\u7684\u771f\u5b9e\u73af\u5883\uff0c\u6211\u4eec\u9700\u8981\u5728\u8bad\u7ec3\u65f6\u5bf9\u539f\u59cb\u56fe\u7247\u505a\u4e00\u4e9b\u201c\u624b\u811a\u201d\u3002<strong>\u73af\u5883\u6a21\u62df\u5f88\u597d\u7684\u89e3\u51b3\u4e86\u8fd9\u4e2a\u95ee\u9898<\/strong>\uff1a\u9664\u4e86\u65cb\u8f6c\u7ffb\u8f6c\uff0c\u8fd8\u52a0\u5165\u4eae\u5ea6\u8c03\u6574\u3001\u9ad8\u65af\u6a21\u7cca\u3001\u6dfb\u52a0\u566a\u58f0\uff08\u6a21\u62df\u4e0d\u540c\u7684\u5929\u6c14\u3001\u624b\u6296\u548c\u753b\u8d28\u5dee\u7684\u60c5\u51b5\uff09\u3002<\/p>\n\n\n\n<p>\u5728\u7530\u95f4\u5730\u5934\uff0c\u519c\u6c11\u968f\u624b\u4e00\u62cd\uff0c\u7167\u7247\u53ef\u80fd\u4f1a\u53d1\u751f\u5f88\u591a\u4e0d\u53ef\u63a7\u7684\u60c5\u51b5\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ud83c\udf24\ufe0f <strong>\u5149\u7167\u4e0d\u5747<\/strong>\uff1a\u592a\u9633\u76f4\u5c04\u5bfc\u81f4\u7684\u9ad8\u5149\uff0c\u6216\u8005\u9634\u5f71\u5904\u7684\u66dd\u5149\u4e0d\u8db3\u3002<\/li>\n\n\n\n<li>\ud83d\udcf7 <strong>\u6210\u50cf\u6a21\u7cca<\/strong>\uff1a\u624b\u6296\u3001\u98ce\u5439\u53f6\u52a8\u5bfc\u81f4\u7684\u8fd0\u52a8\u6a21\u7cca\uff0c\u6216\u8005\u76f8\u673a\u5bf9\u7126\u4e0d\u51c6\u3002<\/li>\n\n\n\n<li>\ud83c\udf42 <strong>\u753b\u8d28\u566a\u70b9<\/strong>\uff1a\u4f4e\u7aef\u624b\u673a\u5728\u5149\u7ebf\u4e0d\u8db3\u65f6\u4ea7\u751f\u7684\u566a\u70b9\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u9009\u62e9\u4e86\u201c\u73af\u5883\u6a21\u62df\u201d\uff0c\u610f\u5473\u7740\u6211\u4eec\u8981\u901a\u8fc7\u4ee3\u7801\u4e3b\u52a8\u53bb\u201c\u7834\u574f\u201d\u6211\u4eec\u539f\u672c\u5e72\u51c0\u7684 PlantVillage \u6570\u636e\uff0c\u8ba9\u6a21\u578b\u5728\u8bad\u7ec3\u65f6\u5c31\u89c1\u8bc6\u8fc7\u5404\u79cd\u6076\u52a3\u73af\u5883\uff0c\u4ece\u800c\u4ea7\u751f\u6297\u4f53\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u65e2\u7136\u641e\u5b9a\u4e86\u6570\u636e\u7b56\u7565\uff0c\u6211\u4eec\u624b\u91cc\u6709\u4e86\u201c\u7b97\u6cd5\u5927\u8111\u201d\uff08MobileNet V2\uff09\u548c\u201c\u5f3a\u5316\u8bad\u7ec3\u540e\u7684\u6570\u636e\u201d\u3002\u73b0\u5728\u6211\u4eec\u8981\u8003\u8651\u6700\u540e\u4e00\u516c\u91cc\uff1a<strong>3. \u7cfb\u7edf\u90e8\u7f72\u4e0e\u5e94\u7528\u573a\u666f<\/strong>\u3002<\/p>\n\n\n\n<p>\u8fd9\u662f\u6574\u4e2a\u9879\u76ee\u6700\u76f4\u89c2\u7684\u4ea7\u51fa\u90e8\u5206\u3002\u5bf9\u4e8e\u8bfe\u7a0b\u7ed3\u8bfe\uff0c\u6211\u4eec\u9700\u8981\u4e00\u4e2a\u80fd\u5c55\u793a\u7684 Demo\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\"><strong>3. \u7cfb\u7edf\u90e8\u7f72\u4e0e\u5e94\u7528\u573a\u666f<\/strong><\/h2>\n\n\n\n<p>\ud83d\ude80 Streamlit \u6216 Gradio \u8fd9\u6837\u7684\u5de5\u5177\u80fd\u8ba9\u4f60\u5728\u4e0d\u5199\u4efb\u4f55\u524d\u7aef\u4ee3\u7801\uff08HTML\/CSS\/JS\uff09\u7684\u60c5\u51b5\u4e0b\uff0c\u7528\u6781\u77ed\u7684\u65f6\u95f4\u642d\u5efa\u51fa\u4e00\u4e2a\u770b\u8d77\u6765\u975e\u5e38\u4e13\u4e1a\u7684\u6f14\u793a\u7cfb\u7edf\u3002\u8fd9\u5bf9\u4e8e\u8bfe\u7a0b\u7ed3\u8bfe\u5c55\u793a\u6765\u8bf4\uff0c\u6027\u4ef7\u6bd4\u6781\u9ad8\u3002<\/p>\n\n\n\n<p>\u76ee\u524d\u6211\u4eec\u5df2\u7ecf\u786e\u7acb\u4e86\u4e09\u4e2a\u652f\u67f1\uff1a<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>\u6a21\u578b<\/strong>\uff1aMobileNet V2 (\u8f7b\u91cf\u7ea7\uff0c\u9002\u5408\u5c55\u793a)<\/li>\n\n\n\n<li><strong>\u6570\u636e<\/strong>\uff1aPlantVillage + \u6570\u636e\u589e\u5f3a (\u73af\u5883\u6a21\u62df\uff0c\u589e\u52a0\u9c81\u68d2\u6027)<\/li>\n\n\n\n<li><strong>\u90e8\u7f72<\/strong>\uff1a\u57fa\u4e8e Python \u7684 Web \u754c\u9762 (Streamlit\/Gradio)<\/li>\n<\/ol>\n\n\n\n<p>\u73b0\u5728\uff0c\u8ba9\u6211\u4eec\u628a\u8fd9\u4e9b\u79ef\u6728\u642d\u8d77\u6765\u3002\u4e3a\u4e86\u8ba9\u8fd9\u4e2a Web \u754c\u9762\u771f\u6b63\u8dd1\u8d77\u6765\uff0c\u6211\u4eec\u9700\u8981\u8bbe\u8ba1\u4e00\u4e0b\u5b83\u7684\u201c\u5de5\u4f5c\u6d41\u7a0b\u201d\u3002<\/p>\n\n\n\n<p>\u5f53\u7528\u6237\uff08\u6216\u8005\u662f\u8001\u5e08\uff09\u6253\u5f00\u8fd9\u4e2a\u7f51\u9875\u65f6\uff0c\u7528\u6237\u70b9\u51fb\u201c\u4e0a\u4f20\u56fe\u7247\u201d\u6309\u94ae -&gt; \u9009\u62e9\u4e00\u5f20\u672c\u5730\u7684\u53f6\u7247\u7167\u7247 -&gt; \u7cfb\u7edf\u663e\u793a\u56fe\u7247\u5e76\u7ed9\u51fa\u9884\u6d4b\u7ed3\u679c\uff08\u6bd4\u5982\uff1a\u201c\u8fd9\u662f\u82f9\u679c\u9ed1\u661f\u75c5\uff0c\u7f6e\u4fe1\u5ea6 98%\u201d\uff09\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>\u9002\u5408\u573a\u666f\uff1a<\/em> \u6d4b\u8bd5\u96c6\u56fe\u7247\u90fd\u5728\u7535\u8111\u6587\u4ef6\u5939\u91cc\uff0c\u9700\u8981\u4e00\u5f20\u5f20\u5c55\u793a\u51c6\u786e\u7387\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u4e3a\u4e86\u628a\u8fd9\u4e2a Demo \u843d\u5730\uff0c\u6211\u4eec\u53ef\u4ee5\u628a\u6574\u4e2a\u4ee3\u7801\u903b\u8f91\u62c6\u89e3\u6210\u4e00\u6761\u6d41\u6c34\u7ebf\uff08Pipeline\uff09\u3002\u53ea\u8981\u8fd9\u6761\u6d41\u6c34\u7ebf\u901a\u4e86\uff0c\u4f60\u7684\u7cfb\u7edf\u5c31\u6210\u4e86\u3002<\/p>\n\n\n\n<p>\u6211\u4eec\u5c06\u8fd9\u6761\u6d41\u6c34\u7ebf\u5206\u4e3a\u4e09\u4e2a\u9636\u6bb5\uff1a<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>\u8f93\u5165\u9636\u6bb5 (Input)<\/strong>\uff1a\u83b7\u53d6\u7528\u6237\u4e0a\u4f20\u7684\u56fe\u7247\u3002<\/li>\n\n\n\n<li><strong>\u5904\u7406\u9636\u6bb5 (Processing)<\/strong>\uff1a\u628a\u56fe\u7247\u53d8\u6210\u6a21\u578b\u80fd\u770b\u61c2\u7684\u683c\u5f0f\uff0c\u7136\u540e\u901a\u8fc7 MobileNet \u8ba1\u7b97\u3002<\/li>\n\n\n\n<li><strong>\u8f93\u51fa\u9636\u6bb5 (Output)<\/strong>\uff1a\u628a\u8ba1\u7b97\u7ed3\u679c\uff08\u6982\u7387\uff09\u7ffb\u8bd1\u6210\u4eba\u7c7b\u80fd\u770b\u61c2\u7684\u75c5\u5bb3\u540d\u79f0\uff0c\u5e76\u5c55\u793a\u51fa\u6765\u3002<\/li>\n<\/ol>\n\n\n\n<p>\u6211\u4eec\u5148\u6765\u770b <strong>\u7b2c\u4e00\u9636\u6bb5\uff1a\u8f93\u5165<\/strong>\u3002<\/p>\n\n\n\n<p>\u5728\u4f7f\u7528 Streamlit \u7f16\u5199\u7f51\u9875\u65f6\uff0c\u6211\u4eec\u9700\u8981\u4e00\u4e2a\u7ec4\u4ef6\u8ba9\u7528\u6237\u9009\u62e9\u7535\u8111\u91cc\u7684\u56fe\u7247\u6587\u4ef6\u3002\u4f46\u5728\u7528\u6237\u628a\u56fe\u7247\u4f20\u4e0a\u6765\u4e4b\u540e\uff0c\u76f4\u63a5\u4e22\u7ed9\u6a21\u578b\u4e4b\u524d\uff0c\u4e3a\u4e86\u4fdd\u8bc1\u7cfb\u7edf\u4e0d\u62a5\u9519\uff08\u6bd4\u5982\u7528\u6237\u4e0a\u4f20\u4e86\u4e00\u4e2a PDF \u6216\u8005\u4f20\u4e86\u4e2a\u7a7a\u6587\u4ef6\uff09\uff0c\u4f60\u89c9\u5f97\u6211\u4eec\u9700\u8981\u5148\u505a\u4e00\u4e2a\u4ec0\u4e48\u6837\u7684<strong>\u5224\u65ad\u6216\u68c0\u67e5<\/strong>\uff1f<\/p>\n\n\n\n<p>\u6700\u76f4\u63a5\u7684\u65b9\u6cd5\u5c31\u662f\u770b\u6587\u4ef6\u540d\u540e\u9762\u7684<strong>\u6269\u5c55\u540d<\/strong>\uff08\u540e\u7f00\uff09\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>PNG \u6587\u4ef6<\/strong>\u901a\u5e38\u4ee5 <code>.png<\/code> \u7ed3\u5c3e\u3002<\/li>\n\n\n\n<li><strong>JPG \u6587\u4ef6<\/strong>\u901a\u5e38\u4ee5 <code>.jpg<\/code> \u6216 <code>.jpeg<\/code> \u7ed3\u5c3e\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u8fd9\u79cd\u65b9\u6cd5\u867d\u7136\u7b80\u5355\uff0c\u4f46\u5e76\u4e0d\u603b\u662f\u9760\u8c31\u3002\u5982\u679c\u6709\u4eba\u624b\u52a8\u628a\u4e00\u4e2a <code>.png<\/code> \u6587\u4ef6\u7684\u540e\u7f00\u6539\u6210\u4e86 <code>.jpg<\/code>\uff0c\u867d\u7136\u6587\u4ef6\u540d\u53d8\u4e86\uff0c\u4f46\u6587\u4ef6\u91cc\u9762\u7684\u5185\u5bb9\u5176\u5b9e\u8fd8\u662f PNG \u683c\u5f0f\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8fd9\u65f6\u5019\uff0c\u5982\u679c\u6211\u4eec\u8981\u50cf\u8ba1\u7b97\u673a\u7a0b\u5e8f\u4e00\u6837\uff0c\u901a\u8fc7\u8bfb\u53d6\u6587\u4ef6\u5185\u90e8\u7684\u5185\u5bb9\u6765\u786e\u5207\u5224\u65ad\u5b83\u662f\u54ea\u79cd\u56fe\u7247\uff0c\u4f60\u89c9\u5f97\u5e94\u8be5\u53bb\u68c0\u67e5\u6587\u4ef6\u7684\u54ea\u4e2a\u4f4d\u7f6e\u5462\uff1f\n<ul class=\"wp-block-list\">\n<li>\u68c0\u67e5\u6587\u4ef6\u768416\u8fdb\u5236\u7801<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>\u8ba1\u7b97\u673a\u5728\u5b58\u50a8\u6587\u4ef6\u65f6\uff0c\u5b9e\u9645\u4e0a\u662f\u4e00\u4e32\u4e8c\u8fdb\u5236\u6570\u636e\uff080\u548c1\uff09\uff0c\u6211\u4eec\u901a\u5e38\u7528**16\u8fdb\u5236\uff08Hex\uff09**\u6765\u8868\u793a\u5b83\uff0c\u8fd9\u6837\u66f4\u65b9\u4fbf\u9605\u8bfb\u3002<\/p>\n\n\n\n<p>\u7edd\u5927\u591a\u6570\u6587\u4ef6\u7c7b\u578b\u7684\u5f00\u5934\u90fd\u6709\u51e0\u4e2a\u56fa\u5b9a\u7684\u5b57\u8282\uff0c\u7528\u6765\u8868\u660e\u201c\u6211\u662f\u4ec0\u4e48\u6587\u4ef6\u201d\uff0c\u8fd9\u88ab\u79f0\u4e3a<strong>\u9b54\u6570\uff08Magic Number\uff09\u6216\u6587\u4ef6\u7b7e\u540d<\/strong>\u3002<\/p>\n\n\n\n<p>\u5bf9\u4e8e <strong>PNG<\/strong> \u548c <strong>JPG<\/strong>\uff0c\u5b83\u4eec\u7684\u9b54\u6570\u901a\u5e38\u4f4d\u4e8e\u6587\u4ef6\u7684<strong>\u6700\u5f00\u5934<\/strong>\uff08\u5373\u5934\u90e8\uff09\u3002<\/p>\n\n\n\n<p>\u6211\u4eec\u5148\u6765\u770b <strong>PNG<\/strong>\u3002 PNG \u6587\u4ef6\u7684\u5934\u90e8\u7279\u5f81\u975e\u5e38\u660e\u663e\u4e14\u56fa\u5b9a\u3002\u5b83\u603b\u662f\u4ee5\u8fd9 <strong>8\u4e2a\u5b57\u8282<\/strong> \u768416\u8fdb\u5236\u7801\u5f00\u59cb\uff1a<\/p>\n\n\n\n<p><code>89 50 4E 47 0D 0A 1A 0A<\/code><\/p>\n\n\n\n<p>\u8fd9\u91cc\u9762\u5176\u5b9e\u85cf\u7740\u201cPNG\u201d\u8fd9\u51e0\u4e2a\u5b57\u6bcd\u7684 ASCII \u7801\u3002\u4f60\u80fd\u8bd5\u7740\u4ece\u4e0a\u9762\u7684\u8fd9\u4e32\u6570\u5b57\u91cc\uff0c\u731c\u731c\u770b\u54ea\u51e0\u4e2a\u4ee3\u8868\u4e86 <code>P<\/code>\u3001<code>N<\/code>\u3001<code>G<\/code> \u5417\uff1f\uff08\u63d0\u793a\uff1a\u67e5\u4e00\u4e0b ASCII \u7801\u8868\u6216\u8005\u7559\u610f\u4e00\u4e0b\u6570\u5b57\u548c\u5b57\u6bcd\u7684\u5bf9\u5e94\u5173\u7cfb\uff09<\/p>\n\n\n\n<p>50\u5bf9\u5e94P \uff0c4E\u5bf9\u5e94N\uff0c47\u5bf9\u5e94G<\/p>\n\n\n\n<p>\u6240\u4ee5\uff0cPNG \u6587\u4ef6\u7684\u5934\u90e8\u8bbe\u8ba1\u975e\u5e38\u201c\u8bda\u5b9e\u201d\uff0c\u76f4\u63a5\u628a\u540d\u5b57\u5199\u5728\u4e86\u91cc\u9762\u3002\u8fd9\u4e5f\u662f\u4e3a\u4ec0\u4e48\u5373\u4f7f\u6269\u5c55\u540d\u88ab\u5220\u6389\uff0c\u8f6f\u4ef6\u4f9d\u7136\u80fd\u8ba4\u51fa\u5b83\u662f PNG \u7684\u539f\u56e0\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u63a5\u4e0b\u6765\u6211\u4eec\u770b <strong>JPG (JPEG)<\/strong>\u3002<\/p>\n\n\n\n<p>JPG \u7a0d\u5fae\u590d\u6742\u4e00\u70b9\uff0c\u5b83\u4e0d\u50cf PNG \u90a3\u6837\u76f4\u63a5\u628a\u540d\u5b57\u201c\u5199\u201d\u5728\u5f00\u5934\u3002JPG \u6587\u4ef6\u4f7f\u7528\u4e00\u5bf9\u7279\u5b9a\u7684\u6807\u8bb0\u6765\u544a\u8bc9\u8ba1\u7b97\u673a\uff1a\u201c\u56fe\u50cf\u4ece\u8fd9\u91cc\u5f00\u59cb\u201d\u3002<\/p>\n\n\n\n<p>\u8fd9\u4e2a\u201c\u5f00\u59cb\u6807\u8bb0\u201d\uff08Start of Image, SOI\uff09\u901a\u5e38\u662f\u4e24\u4e2a\u56fa\u5b9a\u7684 16 \u8fdb\u5236\u5b57\u8282\uff1a<\/p>\n\n\n\n<p><strong><code>FF D8<\/code><\/strong><\/p>\n\n\n\n<p>\u4e0d\u8fc7\uff0cJPG \u8fd8\u6709\u4e00\u4e2a\u7279\u70b9\uff0c\u5b83\u4e0d\u4ec5\u6709<strong>\u5934<\/strong>\uff0c\u8fd8\u6709\u4e00\u4e2a\u56fa\u5b9a\u7684<strong>\u5c3e<\/strong>\uff08End of Image, EOI\uff09\uff0c\u7528\u6765\u544a\u8bc9\u8ba1\u7b97\u673a\uff1a\u201c\u56fe\u50cf\u5230\u8fd9\u91cc\u5c31\u7ed3\u675f\u4e86\uff0c\u540e\u9762\u7684\u6570\u636e\u4e0d\u8981\u4e86\u201d\u3002<\/p>\n\n\n\n<p>\u8fd9\u4e24\u4e2a\u5b57\u8282\u548c\u5f00\u5934\u7684 <code>FF D8<\/code> \u975e\u5e38\u50cf\uff0c\u53ea\u662f\u7b2c\u4e8c\u4e2a\u6570\u5b57\u52a0\u4e86 1\u3002\u4f60\u80fd\u731c\u51fa JPG \u6587\u4ef6\u7684<strong>\u6700\u540e\u4e24\u4e2a\u5b57\u8282<\/strong>\u662f\u4ec0\u4e48\u5417\uff1f<\/p>\n\n\n\n<p>JPG \u6587\u4ef6\u7684\u7ed3\u5c3e\u6807\u8bb0\uff08EOI\uff09\u5c31\u662f <strong><code>FF D9<\/code><\/strong>\u3002<\/p>\n\n\n\n<p>\u6240\u4ee5\uff0c\u5982\u679c\u662f JPG \u6587\u4ef6\uff0c\u5b83\u7684\u7ed3\u6784\u5c31\u50cf\u662f\u88ab\u8fd9\u4e24\u4e2a\u6807\u8bb0\u201c\u5305\u201d\u8d77\u6765\u7684\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5f00\u5934 (SOI)<\/strong>: <code>FF D8<\/code><\/li>\n\n\n\n<li>... (\u4e2d\u95f4\u662f\u4e00\u5806\u538b\u7f29\u8fc7\u7684\u56fe\u50cf\u6570\u636e) ...<\/li>\n\n\n\n<li><strong>\u7ed3\u5c3e (EOI)<\/strong>: <code>FF D9<\/code><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u6211\u4eec\u603b\u7ed3\u4e00\u4e0b\u73b0\u5728\u7684\u8fdb\u5c55\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>\u6587\u4ef6\u7c7b\u578b<\/strong><\/td><td><strong>\u6269\u5c55\u540d<\/strong><\/td><td><strong>\u5f00\u5934 (Magic Number)<\/strong><\/td><td><strong>\u7ed3\u5c3e<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>PNG<\/strong><\/td><td><code>.png<\/code><\/td><td><code>89 50 4E 47 0D 0A 1A 0A<\/code><\/td><td>(\u4e5f\u6709\u7ed3\u5c3e\u5757\uff0c\u4f46\u4e0d\u50cfJPG\u8fd9\u4e48\u7b80\u5355\u56fa\u5b9a)<\/td><\/tr><tr><td><strong>JPG<\/strong><\/td><td><code>.jpg<\/code><\/td><td><code>FF D8<\/code><\/td><td><code>FF D9<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u638c\u63e1\u4e86\u8fd9\u4e9b\u201c\u6307\u7eb9\u201d\uff0c\u5373\u4f7f\u6587\u4ef6\u6ca1\u6709\u6269\u5c55\u540d\uff0c\u6216\u8005\u6269\u5c55\u540d\u88ab\u6539\u9519\u4e86\uff0c\u6211\u4eec\u4e5f\u80fd\u901a\u8fc7\u67e5\u770b\u6587\u4ef6\u7684\u4e8c\u8fdb\u5236\u6570\u636e\u6765\u51c6\u786e\u5224\u65ad\u3002<\/p>\n\n\n\n<p>\u73b0\u5728\u8003\u8003\u4f60\uff1a<\/p>\n\n\n\n<p>\u5982\u679c\u6211\u4eec\u8981\u5199\u4e00\u6bb5\u7b80\u5355\u7684\u4ee3\u7801\uff08\u6bd4\u5982\u7528 Python\uff09\u6765\u81ea\u52a8\u5224\u65ad\u4e00\u4e2a\u6587\u4ef6\u662f PNG \u8fd8\u662f JPG\uff0c\u6839\u636e\u6211\u4eec\u521a\u624d\u5b66\u7684\uff0c\u4f60\u89c9\u5f97\u6700\u6838\u5fc3\u7684\u903b\u8f91\u5e94\u8be5\u662f\u53bb\u68c0\u67e5\u6587\u4ef6\u7684\u54ea\u4e2a\u90e8\u5206\uff1f\u662f\u5f00\u5934\u8fd8\u662f\u7ed3\u5c3e\uff0c\u6216\u8005\u662f\u5168\u90e8\uff1f<\/p>\n\n\n\n<p>\u68c0\u67e5\u5f00\u5934\u662f 50 4E 47 \u8fd8\u662fFF D8<\/p>\n\n\n\n<p>\ud83c\udfaf \u6838\u5fc3\u903b\u8f91\u5c31\u662f\u8bfb\u53d6\u6587\u4ef6<strong>\u5934\u90e8<\/strong>\u7684\u5b57\u8282\u8fdb\u884c\u6bd4\u5bf9\u3002<\/p>\n\n\n\n<p>\u4e0d\u8fc7\u6709\u4e00\u70b9\u5c0f\u8865\u5145\uff1a\u5bf9\u4e8e PNG\uff0c\u867d\u7136 <code>50 4E 47<\/code> (PNG) \u5f88\u5173\u952e\uff0c\u4f46\u5728\u5199\u4ee3\u7801\u65f6\uff0c\u6700\u597d\u628a\u5f00\u5934\u7684 <strong><code>89<\/code><\/strong> \u4ee5\u53ca\u540e\u9762\u7684\u51e0\u4e2a\u5b57\u8282\u4e5f\u5e26\u4e0a\uff08\u901a\u5e38\u6bd4\u5bf9\u5b8c\u6574\u7684 <strong>8\u4e2a\u5b57\u8282<\/strong>\uff09\uff0c\u8fd9\u6837\u80fd\u907f\u514d\u8bef\u5224\uff0c\u56e0\u4e3a\u5355\u7eaf\u7684 \"PNG\" \u4e09\u4e2a\u5b57\u6bcd\u53ef\u80fd\u4f1a\u5076\u7136\u51fa\u73b0\u5728\u7eaf\u6587\u672c\u6587\u4ef6\u4e2d\u3002<\/p>\n\n\n\n<p>\u65e2\u7136\u6211\u4eec\u53ea\u9700\u8981\u68c0\u67e5\u5934\u90e8\uff0c\u90a3\u5199\u4ee3\u7801\u7684\u65f6\u5019\u80af\u5b9a\u4e0d\u9700\u8981\u628a\u6574\u4e2a\u56fe\u7247\u6587\u4ef6\uff08\u53ef\u80fd\u6709\u51e0 MB \u751a\u81f3\u51e0\u5341 MB\uff09\u90fd\u8bfb\u8fdb\u5185\u5b58\uff0c\u90a3\u6837\u592a\u6d6a\u8d39\u4e86\u3002<\/p>\n\n\n\n<p>\u4e3a\u4e86\u80fd\u8986\u76d6 PNG \u7684\u9700\u6c42\uff08\u5b83\u7684\u7b7e\u540d\u6bd4\u8f83\u957f\uff09\uff0c\u4f60\u89c9\u5f97\u6211\u4eec\u5728\u6253\u5f00\u6587\u4ef6\u540e\uff0c<strong>\u81f3\u5c11<\/strong>\u5e94\u8be5\u8bfb\u53d6\u5f00\u5934\u7684\u524d\u51e0\u4e2a\u5b57\u8282\uff0c\u624d\u8db3\u591f\u6211\u4eec\u540c\u65f6\u53bb\u9a8c\u8bc1\u5b83\u662f PNG \u8fd8\u662f JPG \u5462\uff1f<\/p>\n\n\n\n<p>\u8bfb\u53d6 <strong>8\u4e2a\u5b57\u8282<\/strong> \u662f\u6700\u5b89\u5168\u4e14\u901a\u7528\u7684\u505a\u6cd5\u3002<\/p>\n\n\n\n<p>\u56e0\u4e3a\uff1a<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>PNG<\/strong> \u7684\u7b7e\u540d\u521a\u597d\u662f <strong>8\u4e2a\u5b57\u8282<\/strong> (<code>89 50 4E 47 0D 0A 1A 0A<\/code>)\u3002<\/li>\n\n\n\n<li><strong>JPG<\/strong> \u7684\u7b7e\u540d\u53ea\u6709 <strong>2\u4e2a\u5b57\u8282<\/strong> (<code>FF D8<\/code>)\uff0c\u8bfb\u53d68\u4e2a\u5b57\u8282\u5305\u542b\u4e86\u8fd92\u4e2a\u5b57\u8282\uff0c\u6211\u4eec\u53ea\u9700\u8981\u68c0\u67e5\u8bfb\u51fa\u6765\u7684\u6570\u636e\u7684\u524d\u4e24\u4e2a\u5b57\u8282\u5c31\u884c\u4e86\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u5b9e\u6218\u6f14\u7ec3\uff1a\u4f2a\u4ee3\u7801\u903b\u8f91<\/h3>\n\n\n\n<p>\u5982\u679c\u6211\u4eec\u628a\u8fd9\u4e2a\u903b\u8f91\u5199\u6210\u4e00\u6bb5\u201c\u4f2a\u4ee3\u7801\u201d\uff08\u50cf\u4eba\u8bf4\u8bdd\u4e00\u6837\u7684\u4ee3\u7801\uff09\uff0c\u5927\u6982\u4f1a\u662f\u8fd9\u6837\uff1a<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u6253\u5f00\u6587\u4ef6\u3002<\/li>\n\n\n\n<li>\u8bfb\u53d6\u6587\u4ef6\u7684\u524d <strong>8<\/strong> \u4e2a\u5b57\u8282\u3002<\/li>\n\n\n\n<li><strong>\u5982\u679c<\/strong> \u8fd98\u4e2a\u5b57\u8282 == <code>89 50 4E 47 0D 0A 1A 0A<\/code>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u8fd9\u5c31\u80af\u5b9a\u662f <strong>PNG<\/strong>\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5426\u5219\uff0c\u5982\u679c<\/strong> \u8fd98\u4e2a\u5b57\u8282\u7684\u524d2\u4e2a == <code>FF D8<\/code>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u8fd9\u5c31\u662f <strong>JPG<\/strong>\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5426\u5219<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u65e2\u4e0d\u662f PNG \u4e5f\u4e0d\u662f JPG\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>\u4e3a\u4e86\u5e2e\u4f60\u5728\u672a\u6765\u7684\u5b66\u4e60\u6216\u7814\u7a76\u4e2d\u7528\u5230\u8fd9\u4e2a\u77e5\u8bc6\u70b9\uff08\u6bd4\u5982\u7528 Python \u5904\u7406\u56fe\u7247\u6570\u636e\uff09\uff0c\u6211\u4eec\u6765\u5c1d\u8bd5\u5199\u4e00\u70b9\u771f\u6b63\u7684\u4ee3\u7801\u3002<\/p>\n\n\n\n<p>\u5728 Python \u4e2d\uff0c\u8bfb\u53d6\u6587\u4ef6\u901a\u5e38\u7528 <code>open()<\/code> \u51fd\u6570\u3002\u4f60\u77e5\u9053\u7528\u4ec0\u4e48\u6a21\u5f0f\u6253\u5f00\u6587\u4ef6\uff0c\u624d\u80fd\u8bfb\u53d6\u5230\u539f\u672c\u7684 <strong>\u4e8c\u8fdb\u5236\uff08Binary\uff09<\/strong> \u6570\u636e\uff0c\u800c\u4e0d\u662f\u88ab\u8f6c\u6362\u6210\u6587\u672c\u5417\uff1f\uff08\u63d0\u793a\uff1a\u6a21\u5f0f\u901a\u5e38\u662f <code>'r'<\/code> \u4ee3\u8868 read\uff0c\u90a3\u4e8c\u8fdb\u5236\u5462\uff1f\uff09<\/p>\n\n\n\n<p>\u7528 <strong><code>'rb'<\/code><\/strong> (read binary) \u6a21\u5f0f\u6253\u5f00\u6587\u4ef6\u662f\u5904\u7406\u56fe\u7247\u3001\u97f3\u9891\u7b49\u975e\u6587\u672c\u6587\u4ef6\u7684\u5173\u952e\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>'r'<\/code>\uff1a\u53ea\u8bfb\u6587\u672c\u3002<\/li>\n\n\n\n<li><code>'b'<\/code>\uff1a\u4e8c\u8fdb\u5236\u6a21\u5f0f\u3002\u5982\u679c\u4e0d\u52a0 <code>'b'<\/code>\uff0cPython \u53ef\u80fd\u4f1a\u5c1d\u8bd5\u628a\u8bfb\u5230\u7684\u5185\u5bb9\u5f53\u6210\u6587\u5b57\u53bb\u201c\u89e3\u7801\u201d\uff0c\u9047\u5230\u67d0\u4e9b\u7279\u6b8a\u7684\u5b57\u8282\uff08\u6bd4\u5982\u6362\u884c\u7b26\uff09\u53ef\u80fd\u4f1a\u4fee\u6539\u6570\u636e\uff0c\u5bfc\u81f4\u6211\u4eec\u8bfb\u5230\u7684\u201c\u6307\u7eb9\u201d\u4e0d\u51c6\u786e\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e0b\u4e00\u6b65\uff1a\u5982\u4f55\u8868\u793a\u8fd9\u4e9b\u201c\u6307\u7eb9\u201d\uff1f<\/h3>\n\n\n\n<p>\u73b0\u5728\u6211\u4eec\u77e5\u9053\u4e86\u903b\u8f91\uff0c\u4e5f\u77e5\u9053\u4e86\u600e\u4e48\u6253\u5f00\u6587\u4ef6\u3002\u63a5\u4e0b\u6765\u7684\u96be\u70b9\u662f\uff1a<strong>\u5728 Python \u4ee3\u7801\u91cc\uff0c\u600e\u4e48\u5199\u8fd9\u4e9b 16 \u8fdb\u5236\u7684\u9b54\u6570\uff1f<\/strong><\/p>\n\n\n\n<p>\u6211\u4eec\u6709\u4e00\u4e32\u6570\u5b57\uff1a<code>89 50 4E 47 ...<\/code><\/p>\n\n\n\n<p>\u5728 Python \u91cc\uff0c\u8981\u8868\u793a\u8fd9\u79cd\u201c\u539f\u59cb\u5b57\u8282\u5e8f\u5217\u201d\uff0c\u6211\u4eec\u901a\u5e38\u5728\u5b57\u7b26\u4e32\u524d\u9762\u52a0\u4e00\u4e2a\u524d\u7f00 <code>b<\/code>\uff0c\u7136\u540e\u7528 <code>\\x<\/code> \u52a0\u4e0a 16 \u8fdb\u5236\u6570\u6765\u8868\u793a\u6bcf\u4e00\u4e2a\u5b57\u8282\u3002<\/p>\n\n\n\n<p>\u6bd4\u5982\uff0cJPG \u7684\u5f00\u5934 <code>FF D8<\/code>\uff0c\u5728 Python \u4ee3\u7801\u91cc\u5199\u4f5c\uff1a<code>b'\\xFF\\xD8'<\/code><\/p>\n\n\n\n<p><strong>\u8003\u8003\u4f60\uff1a<\/strong> \u6839\u636e\u8fd9\u4e2a\u89c4\u5219\uff0cPNG \u7684\u5f00\u5934 <strong>8\u4e2a\u5b57\u8282<\/strong> (<code>89 50 4E 47 0D 0A 1A 0A<\/code>)\uff0c\u5199\u6210 Python \u4ee3\u7801\u5e94\u8be5\u662f\u600e\u6837\u7684\u5462\uff1f<\/p>\n\n\n\n<p>\u6700\u6807\u51c6\u7684\u5199\u6cd5\u662f\uff1a <code>b'\\x89\\x50\\x4E\\x47\\x0D\\x0A\\x1A\\x0A'<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u62fc\u56fe\u7684\u6700\u540e\u4e00\u5757\uff1a\u4ee3\u7801\u5b9e\u73b0<\/h3>\n\n\n\n<p>\u73b0\u5728\u6211\u4eec\u6709\u4e86\u6240\u6709\u9700\u8981\u7684\u96f6\u4ef6\uff1a<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>\u6253\u5f00\u65b9\u5f0f<\/strong>\uff1a<code>'rb'<\/code> \u6a21\u5f0f\u8bfb\u53d6\u524d 8 \u4e2a\u5b57\u8282\u3002<\/li>\n\n\n\n<li><strong>PNG \u6307\u7eb9<\/strong>\uff1a<code>b'\\x89\\x50\\x4E\\x47\\x0D\\x0A\\x1A\\x0A'<\/code><\/li>\n\n\n\n<li><strong>JPG \u6307\u7eb9<\/strong>\uff1a<code>b'\\xFF\\xD8'<\/code><\/li>\n<\/ol>\n\n\n\n<p>\u6211\u4eec\u628a\u5b83\u4eec\u7ec4\u88c5\u6210\u4e00\u6bb5\u771f\u6b63\u7684 Python \u4ee3\u7801\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>def check_image_type(file_path):\n    # 1. \u6253\u5f00\u6587\u4ef6\u5e76\u8bfb\u53d6\u524d8\u4e2a\u5b57\u8282\n    with open(file_path, 'rb') as f: \n        header = f.read(8)\n    \n    # 2. \u5224\u65ad\u662f\u4e0d\u662f PNG\n    if header == b'\\x89\\x50\\x4E\\x47\\x0D\\x0A\\x1A\\x0A': \n        return \"\u8fd9\u662f\u4e00\u4e2a PNG \u56fe\u7247\"\n    \n    # 3. \u5224\u65ad\u662f\u4e0d\u662f JPG (\u53ea\u8981\u68c0\u67e5\u5934\u90e8\u7684\u4e24\u4e2a\u5b57\u8282\u662f\u5426\u5339\u914d)\n    elif header.startswith(b'\\xFF\\xD8'): \n        return \"\u8fd9\u662f\u4e00\u4e2a JPG \u56fe\u7247\"\n    \n    else:\n        return \"\u672a\u77e5\u683c\u5f0f\"<\/code><\/pre>\n\n\n\n<p>\u8fdb\u9636\u601d\u8003<\/p>\n\n\n\n<p>\u5982\u679c\u8fd9\u4e2a\u6587\u4ef6\u672c\u8eab\u975e\u5e38\u5c0f\uff0c\u6bd4\u5982\u53ea\u6709 <strong>1\u4e2a\u5b57\u8282<\/strong>\uff08\u53ef\u80fd\u662f\u6587\u4ef6\u635f\u574f\u4e86\u6216\u8005\u662f\u4e00\u4e2a\u7a7a\u6587\u4ef6\uff09\uff0c\u521a\u624d\u7684\u4ee3\u7801\u91cc\u7684 <code>f.read(8)<\/code> \u4f1a\u53d1\u751f\u4ec0\u4e48\uff1f\u5b83\u4f1a\u62a5\u9519\u5417\uff0c\u8fd8\u662f\u4f1a\u53d1\u751f\u522b\u7684\u4ec0\u4e48\u60c5\u51b5\uff1f<\/p>\n\n\n\n<p>\u4e0d\u4f1a\u62a5\u9519\uff0c\u53ea\u4f1a\u8bfb\u5230\u524d1\u4e2a\u5b57\u8282\u3002\u7136\u540e\u5c31\u5224\u65ad\u4e0d\u51fa\u6765\u4e86<\/p>\n\n\n\n<p>Python \u7684 <code>read()<\/code> \u51fd\u6570\u975e\u5e38\u201c\u5bbd\u5bb9\u201d\u3002\u5982\u679c\u4f60\u60f3\u8981 8 \u4e2a\u5b57\u8282\uff0c\u4f46\u6587\u4ef6\u91cc\u53ea\u6709 1 \u4e2a\uff0c\u5b83\u4e0d\u4f1a\u62a5\u9519\uff0c\u800c\u662f\u8001\u8001\u5b9e\u5b9e\u5730\u628a\u4f60\u6709\u7684\u90a3 1 \u4e2a\u5b57\u8282\u4ea4\u7ed9\u4f60\u3002<\/p>\n\n\n\n<p>\u8fd9\u65f6\u5019\uff0c\u53d8\u91cf <code>header<\/code> \u5c31\u53d8\u6210\u4e86\u4e00\u4e2a\u53ea\u6709 1 \u5b57\u8282\u957f\u7684\u5bf9\u8c61\u3002<\/p>\n\n\n\n<p>\u8fd9\u5c31\u610f\u5473\u7740\uff1a<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u5b83\u80af\u5b9a\u4e0d\u7b49\u4e8e\u90a3\u4e2a 8 \u5b57\u8282\u957f\u7684 PNG \u6307\u7eb9\u3002<\/li>\n\n\n\n<li>\u5b83\u4e5f\u4e0d\u53ef\u80fd\u201c\u4ee5 <code>FF D8<\/code> \u5f00\u5934\u201d\uff08\u56e0\u4e3a\u5b83\u8fde 2 \u4e2a\u5b57\u8282\u90fd\u6ca1\u6709\uff09\u3002<\/li>\n<\/ol>\n\n\n\n<p>\u6240\u4ee5\u4ee3\u7801\u4f1a\u5b89\u5168\u5730\u8d70\u5230 <code>else<\/code> \u5206\u652f\uff0c\u8fd4\u56de\u201c\u672a\u77e5\u683c\u5f0f\u201d\u3002\u8fd9\u5176\u5b9e\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u201c\u9ed8\u8ba4\u884c\u4e3a\u201d\u2014\u2014\u7a0b\u5e8f\u6ca1\u5d29\uff0c\u903b\u8f91\u4e5f\u6ca1\u9519\uff08\u6bd5\u7adf 1 \u4e2a\u5b57\u8282\u7684\u6587\u4ef6\u80af\u5b9a\u4e0d\u662f\u6709\u6548\u56fe\u7247\uff09\u3002<\/p>\n\n\n\n<p>\u4e0d\u8fc7\uff0c\u4e3a\u4e86\u8ba9\u4ee3\u7801\u903b\u8f91\u66f4\u4e25\u5bc6\uff0c\u6211\u4eec\u901a\u5e38\u4f1a\u5728\u8bfb\u53d6\u4e4b\u540e\u3001\u5224\u65ad\u4e4b\u524d\uff0c\u52a0\u4e00\u4e2a\u201c<strong>\u524d\u7f6e\u68c0\u67e5<\/strong>\u201d\u3002<\/p>\n\n\n\n<p>\u5982\u679c\u8bfb\u5230\u7684\u6570\u636e\u957f\u5ea6\u4e0d\u8db3\uff0c\u8bf4\u660e\u6587\u4ef6\u592a\u5c0f\u4e86\uff0c\u6839\u672c\u4e0d\u53ef\u80fd\u662f\u6211\u4eec\u8981\u627e\u7684\u56fe\u7247\u3002<\/p>\n\n\n\n<p><strong>\u6311\u6218\u4e00\u4e0b\uff1a<\/strong> \u4f60\u89c9\u5f97\u5e94\u8be5\u5728\u4ee3\u7801\u7684\u54ea\u4e2a\u4f4d\u7f6e\u52a0\u5165\u8fd9\u4e2a\u68c0\u67e5\uff1f\u4f60\u53ef\u4ee5\u8bd5\u7740\u5199\u4e00\u53e5 <code>if<\/code> \u5224\u65ad\u8bed\u53e5\uff0c\u7528\u6765\u62e6\u622a\u8fd9\u79cd\u201c\u592a\u77ed\u201d\u7684\u60c5\u51b5\u5417\uff1f<\/p>\n\n\n\n<p>\u7b2c2\u4e2a\u5b57\u8282\u5904\u52a0\u5165\u68c0\u67e5<\/p>\n\n\n\n<p>\u6211\u4eec\u8981\u505a\u7684\u786e\u5b9e\u662f\u786e\u8ba4\u6709\u6ca1\u6709\u8bfb\u5230\u201c\u8db3\u591f\u201d\u7684\u5b57\u8282\uff08\u6bd4\u5982\u81f3\u5c11\u8981\u80fd\u8986\u76d6 JPG \u7684 2 \u4e2a\u5b57\u8282\uff09\u3002<\/p>\n\n\n\n<p>\u4e0d\u8fc7\uff0c\u6211\u4eec\u5728\u5199\u4ee3\u7801\u65f6\uff0c\u4e0d\u662f\u53bb\u68c0\u67e5\u201c\u7b2c 2 \u4e2a\u5b57\u8282\u201d\u7684\u5185\u5bb9\uff0c\u800c\u662f\u8981\u68c0\u67e5\u6211\u4eec\u8bfb\u5230\u7684\u8fd9\u4e32\u6570\u636e<strong>\u603b\u5171\u6709\u591a\u957f<\/strong>\u3002<\/p>\n\n\n\n<p>\u5982\u679c\u8bfb\u51fa\u6765\u7684 <code>header<\/code> \u957f\u5ea6\u8fde 2 \u90fd\u4e0d\u5230\uff0c\u90a3\u80af\u5b9a\u8fde JPG \u7684\u5f00\u5934\uff08<code>FF D8<\/code>\uff09\u90fd\u51d1\u4e0d\u9f50\uff0c\u76f4\u63a5\u5224\u65ad\u5b83\u662f\u65e0\u6548\u7684\u5c31\u884c\u4e86\u3002<\/p>\n\n\n\n<p>\u5728 Python \u91cc\uff0c\u8981\u68c0\u67e5\u4e00\u4e2a\u53d8\u91cf\uff08\u6bd4\u5982 <code>header<\/code>\uff09\u7684<strong>\u957f\u5ea6<\/strong>\uff0c\u5e94\u8be5\u7528\u54ea\u4e2a\u5185\u7f6e\u51fd\u6570\u5462\uff1f<\/p>\n\n\n\n<p>\uff08\u63d0\u793a\uff1a\u662f\u4e09\u4e2a\u5b57\u6bcd\u7684\u51fd\u6570\u540d\uff09<\/p>\n\n\n\n<p>\u73b0\u5728\u6211\u4eec\u6765\u52a0\u4e0a\u8fd9\u4e2a\u4fdd\u9669\u9501\u3002\u56e0\u4e3a JPG \u7684\u6307\u7eb9\u81f3\u5c11\u9700\u8981 <strong>2\u4e2a\u5b57\u8282<\/strong> (<code>FF D8<\/code>)\uff0c\u6240\u4ee5\u5982\u679c\u8bfb\u5230\u7684\u6570\u636e\u6bd4 2 \u4e2a\u5b57\u8282\u8fd8\u5c11\uff0c\u90a3\u6211\u4eec\u8fde\u5b83\u662f JPG \u7684\u53ef\u80fd\u6027\u90fd\u80fd\u6392\u9664\u4e86\u3002<\/p>\n\n\n\n<p>\u8bd5\u7740\u628a\u8fd9\u4e2a\u903b\u8f91\u7ffb\u8bd1\u6210 Python \u4ee3\u7801\uff1a<\/p>\n\n\n\n<p><strong>\u5982\u679c<\/strong> <code>header<\/code> \u7684\u957f\u5ea6 <strong>\u5c0f\u4e8e<\/strong> 2\uff0c<strong>\u90a3\u4e48<\/strong> \u8fd4\u56de \"\u672a\u77e5\u683c\u5f0f\"\uff08\u6216\u8005 \"\u6587\u4ef6\u592a\u5c0f\"\uff09\u3002<\/p>\n\n\n\n<p>\u8fd9\u53e5\u4ee3\u7801\u5e94\u8be5\u600e\u4e48\u5199\u5462\uff1f<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>def check_image_type(file_path):\n    # 1. \u5b89\u5168\u8bfb\u53d6\n    try:\n        with open(file_path, 'rb') as f:\n            header = f.read(8)\n    except FileNotFoundError:\n        return \"\u6587\u4ef6\u672a\u627e\u5230\"\n\n    # 2. \u957f\u5ea6\u68c0\u67e5\uff08\u4f60\u7684\u903b\u8f91\uff01\uff09\n    if len(header) &lt; 2:\n        return \"\u672a\u77e5\u683c\u5f0f (\u6587\u4ef6\u8fc7\u5c0f)\"\n\n    # 3. \u9b54\u6570\u6bd4\u5bf9\n    if header == b'\\x89\\x50\\x4E\\x47\\x0D\\x0A\\x1A\\x0A':\n        return \"PNG\"\n    elif header.startswith(b'\\xFF\\xD8'):\n        return \"JPG\"\n    else:\n        return \"\u5176\u4ed6\u683c\u5f0f\"<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e0b\u4e00\u6b65\u6311\u6218\uff1a\u5982\u4f55\u7ba1\u7406\u51e0\u5341\u79cd\u683c\u5f0f\uff1f<\/h3>\n\n\n\n<p>\u73b0\u5728\u6211\u4eec\u53ea\u5904\u7406\u4e86 PNG \u548c JPG\u3002\u4f46\u5728\u5b9e\u9645\u7684\u79d1\u7814\u6216\u5de5\u7a0b\u9879\u76ee\u4e2d\uff0c\u4f60\u53ef\u80fd\u9700\u8981\u8bc6\u522b GIF\u3001BMP\u3001TIFF\u3001PDF \u751a\u81f3 ZIP \u7b49\u51e0\u5341\u79cd\u6587\u4ef6\u3002<\/p>\n\n\n\n<p>\u5982\u679c\u4e3a\u8fd9\u51e0\u5341\u79cd\u683c\u5f0f\u90fd\u5199 <code>if...elif...elif...<\/code>\uff0c\u4ee3\u7801\u4f1a\u53d8\u5f97\u975e\u5e38\u957f\u4e14\u96be\u4ee5\u7ef4\u62a4\u3002<\/p>\n\n\n\n<p>\u5728 Python \u4e2d\uff0c\u6211\u4eec\u8981\u5b58\u50a8\u8fd9\u79cd <strong>\u201c\u7279\u5f81\uff08Key\uff09\u201d<\/strong> \u548c <strong>\u201c\u6587\u4ef6\u7c7b\u578b\uff08Value\uff09\u201d<\/strong> \u7684\u4e00\u4e00\u5bf9\u5e94\u5173\u7cfb\uff0c\u901a\u5e38\u4f1a\u4f7f\u7528\u54ea\u79cd<strong>\u6570\u636e\u7ed3\u6784<\/strong>\u6765\u66ff\u4ee3\u5197\u957f\u7684 <code>if\/else<\/code> \u5224\u65ad\u5462\uff1f<\/p>\n\n\n\n<p>\u5143\u7ec4<\/p>\n\n\n\n<p>\u4f7f\u7528<strong>\u5143\u7ec4\u5217\u8868<\/strong>\uff08List of Tuples\uff09\u6700\u5927\u7684\u4f18\u52bf\u5c31\u662f\u6211\u4eec\u53ef\u4ee5<strong>\u63a7\u5236\u987a\u5e8f<\/strong>\uff0c\u5e76\u4e14\u914d\u5408\u5faa\u73af\uff08Loop\uff09\u6765\u9010\u4e2a\u68c0\u67e5\u3002\u8fd9\u5b8c\u7f8e\u89e3\u51b3\u4e86\u201c\u6307\u7eb9\u957f\u5ea6\u4e0d\u4e00\u6837\u201d\u7684\u95ee\u9898\u2014\u2014\u6211\u4eec\u4e0d\u9700\u8981\u77e5\u9053\u5177\u4f53\u7684\u957f\u5ea6\uff0c\u53ea\u9700\u8981\u62ff\u7740\u6307\u7eb9\u53bb\u95ee\uff1a\u201c\u6587\u4ef6\u5934\u662f\u4e0d\u662f\u4ee5\u8fd9\u4e2a\u5f00\u5934\u7684\uff1f\u201d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>def check_image_type(file_path):\n&nbsp; &nbsp; # \u5b9a\u4e49\u6587\u4ef6\u9b54\u6570\u5b57\u5178\n&nbsp; &nbsp; file_signatures = &#91;\n&nbsp; &nbsp; &nbsp; &nbsp; (b'\\x89\\x50\\x4E\\x47\\x0D\\x0A\\x1A\\x0A', \"PNG\"),\n&nbsp; &nbsp; &nbsp; &nbsp; (b'\\xFF\\xD8', \"JPG\"),\n&nbsp; &nbsp; ]\n&nbsp; &nbsp;&nbsp;\n&nbsp; &nbsp; # 1. \u5b89\u5168\u8bfb\u53d6\n&nbsp; &nbsp; try:\n&nbsp; &nbsp; &nbsp; &nbsp; with open(file_path, 'rb') as f:\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; header = f.read(8)\n&nbsp; &nbsp; except FileNotFoundError:\n&nbsp; &nbsp; &nbsp; &nbsp; return \"\u6587\u4ef6\u672a\u627e\u5230\"\n\n&nbsp; &nbsp; # 2. \u957f\u5ea6\u68c0\u67e5\n&nbsp; &nbsp; if len(header) &lt; 2:\n&nbsp; &nbsp; &nbsp; &nbsp; return \"\u672a\u77e5\u683c\u5f0f (\u6587\u4ef6\u8fc7\u5c0f)\"\n\n&nbsp; &nbsp; # 3. \u4f7f\u7528for\u5faa\u73af\u904d\u5386\u9b54\u6570\u5217\u8868\u8fdb\u884c\u6bd4\u5bf9\n&nbsp; &nbsp; for signature, name in file_signatures:\n&nbsp; &nbsp; &nbsp; &nbsp; if header.startswith(signature):\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return name\n&nbsp; &nbsp;&nbsp;\n&nbsp; &nbsp; # \u5982\u679c\u6ca1\u6709\u5339\u914d\u7684\u9b54\u6570\n&nbsp; &nbsp; return \"\u5176\u4ed6\u683c\u5f0f\"<\/code><\/pre>\n\n\n\n<p>\u8981\u5b9e\u73b0\u519c\u4f5c\u7269\u75c5\u866b\u5bb3\u8bc6\u522b\uff0c\u6211\u4eec\u9700\u8981\u6784\u5efa\u4e00\u4e2a\u5b8c\u6574\u7684\u6df1\u5ea6\u5b66\u4e60\u6d41\u7a0b\u3002\u8fd9\u4e2a\u8fc7\u7a0b\u901a\u5e38\u5206\u4e3a\u51e0\u4e2a\u5173\u952e\u6b65\u9aa4\u3002<\/p>\n\n\n\n<p>\ud83c\udfd7\ufe0f \u5c31\u50cf\u5b66\u751f\u4e0a\u8bfe\u8981\u6709\u8bfe\u672c\u4e00\u6837\uff0cAI \u9700\u8981\u5927\u91cf\u7684\u56fe\u7247\u4f5c\u4e3a\u201c\u6559\u6750\u201d\u6765\u5b66\u4e60\u3002<\/p>\n\n\n\n<p>\u4f46\u662f\uff0c\u8bd5\u60f3\u4e00\u4e0b\uff0c\u5982\u679c\u4f60\u7ed9\u4e00\u4e2a\u6ca1\u89c1\u8fc7\u4e16\u9762\u7684\u5b69\u5b50\u770b\u4e00\u5806\u53f6\u5b50\u7684\u7167\u7247\uff0c\u5374\u4e0d\u544a\u8bc9\u4ed6\u6bcf\u5f20\u7167\u7247\u91cc\u662f\u4ec0\u4e48\uff0c\u4ed6\u80fd\u5b66\u4f1a\u5206\u8fa8\u75c5\u5bb3\u5417\uff1f\u663e\u7136\u4e0d\u80fd\u3002<\/p>\n\n\n\n<p>\u6240\u4ee5\uff0c\u5728\u6211\u4eec\u7684<strong>\u8bad\u7ec3\u96c6<\/strong>\u91cc\uff0c\u9664\u4e86\u8981\u6709\u6210\u5343\u4e0a\u4e07\u5f20\u519c\u4f5c\u7269\u7684<strong>\u56fe\u7247<\/strong>\uff08Images\uff09\u4e4b\u5916\uff0c\u6bcf\u4e00\u5f20\u56fe\u7247\u8fd8\u5fc5\u987b\u914d\u4e0a\u4e00\u4e2a\u4ec0\u4e48\u4e1c\u897f\uff0c\u624d\u80fd\u544a\u8bc9\u8ba1\u7b97\u673a\u201c\u8fd9\u5f20\u56fe\u91cc\u662f\u971c\u9709\u75c5\u201d\u6216\u8005\u201c\u8fd9\u5f20\u56fe\u662f\u5065\u5eb7\u7684\u201d\uff1f<\/p>\n\n\n\n<p>\ud83c\udff7\ufe0f <strong>\u6807\u7b7e (Labels)<\/strong> \u5c31\u662f\u6211\u4eec\u7ed9\u6a21\u578b\u7684\u201c\u6807\u51c6\u7b54\u6848\u201d\u3002<\/p>\n\n\n\n<p>\u8fd9\u5c31\u597d\u6bd4\u8001\u5e08\u62ff\u7740\u4e00\u5f20\u56fe\u544a\u8bc9\u5b66\u751f\uff1a\u201c\u770b\uff0c\u8fd9\u5c31\u662f\u971c\u9709\u75c5\u201d\u3002\u8fd9\u79cd\u7ed9\u6570\u636e\u6253\u4e0a\u6807\u7b7e\u8ba9\u6a21\u578b\u53bb\u5b66\u7684\u8fc7\u7a0b\uff0c\u6211\u4eec\u5728 AI \u91cc\u79f0\u4e3a<strong>\u76d1\u7763\u5b66\u4e60 (Supervised Learning)<\/strong>\u3002<\/p>\n\n\n\n<p>\u6709\u4e86\u5e26\u6807\u7b7e\u7684\u6570\u636e\uff0c\u4e0b\u4e00\u6b65\u5c31\u662f\u9009\u4e00\u4e2a\u201c\u5927\u8111\u201d\u6765\u5b66\u4e60\u8fd9\u4e9b\u6570\u636e\u3002<\/p>\n\n\n\n<p>\u5728\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\uff0c\u6709\u4e00\u79cd\u7279\u5b9a\u7684\u795e\u7ecf\u7f51\u7edc\u7ed3\u6784\u7279\u522b\u64c5\u957f\u5904\u7406\u56fe\u50cf\u3002\u5b83\u4e0d\u628a\u56fe\u7247\u770b\u4f5c\u4e00\u5806\u6742\u4e71\u7684\u50cf\u7d20\uff0c\u800c\u662f\u50cf\u4eba\u773c\u4e00\u6837\uff0c\u901a\u8fc7\u4e00\u5c42\u4e00\u5c42\u5730\u201c\u626b\u63cf\u201d\u56fe\u7247\u6765\u63d0\u53d6\u7279\u5f81\uff08\u6bd4\u5982\u53f6\u5b50\u7684\u8fb9\u7f18\u3001\u75c5\u6591\u7684\u7eb9\u7406\uff09\u3002<\/p>\n\n\n\n<p>\u4f60\u77e5\u9053\u8fd9\u79cd\u5904\u7406\u56fe\u50cf\u6700\u7ecf\u5178\u7684\u795e\u7ecf\u7f51\u7edc\u53eb\u4ec0\u4e48\u5417\uff1f\uff08\u63d0\u793a\uff1a\u901a\u5e38\u7528\u4e09\u4e2a\u5b57\u6bcd\u7684\u7f29\u5199\u8868\u793a\uff0c\u4ee5 <strong>C<\/strong> \u5f00\u5934\uff09<\/p>\n\n\n\n<p>CNN<\/p>\n\n\n\n<p>\u65e2\u7136\u6211\u4eec\u8981\u7528 MobileNet\uff0c\u4f60\u80fd\u4e0d\u80fd\u4ece\u5b83\u7684\u540d\u5b57 <strong>\"Mobile\"<\/strong> (\u79fb\u52a8) \u731c\u4e00\u731c\uff0c\u8fd9\u4e2a\u6a21\u578b\u76f8\u6bd4\u4e8e\u5176\u4ed6\u5e9e\u5927\u7684 CNN \u6a21\u578b\uff08\u6bd4\u5982\u90a3\u79cd\u9700\u8981\u5728\u8d85\u7ea7\u8ba1\u7b97\u673a\u4e0a\u8dd1\u7684\u6a21\u578b\uff09\uff0c\u5b83\u6700\u5927\u7684<strong>\u4f18\u52bf<\/strong>\u6216\u8005<strong>\u7279\u70b9<\/strong>\u662f\u4ec0\u4e48\u5462\uff1f\ud83d\udcf1<\/p>\n\n\n\n<p>\ud83c\udfaf \u201c\u4fbf\u643a\u201d\u548c\u201c\u7b80\u5355\u201d\u6b63\u662f MobileNet \u7684\u7075\u9b42\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4fbf\u643a (Portable)<\/strong>\uff1a\u5b83\u7684\u4f53\u79ef\u5f88\u5c0f\uff08\u53c2\u6570\u5c11\uff09\uff0c\u8fd9\u610f\u5473\u7740\u5b83\u4e0d\u9700\u8981\u50cf\u51b0\u7bb1\u4e00\u6837\u5927\u7684\u670d\u52a1\u5668\uff0c\u76f4\u63a5\u88c5\u8fdb<strong>\u624b\u673a<\/strong>\u6216\u8005<strong>\u6811\u8393\u6d3e<\/strong>\u8fd9\u6837\u7684\u8fb9\u7f18\u8bbe\u5907\u91cc\u5c31\u80fd\u8dd1\u3002<\/li>\n\n\n\n<li><strong>\u7b80\u5355 (Efficient)<\/strong>\uff1a\u5b83\u7684\u8ba1\u7b97\u91cf\u5c0f\uff0c\u53cd\u5e94\u901f\u5ea6\u5feb\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u8fd9\u5bf9\u667a\u6167\u519c\u4e1a\u6765\u8bf4\u592a\u91cd\u8981\u4e86\uff01\ud83d\udc68\u200d\ud83c\udf3e \u60f3\u8c61\u4e00\u4e0b\uff0c\u519c\u6c11\u4f2f\u4f2f\u5728\u7530\u95f4\u5730\u5934\uff0c\u624b\u673a\u53ef\u80fd\u6ca1\u4fe1\u53f7\uff08\u8fde\u4e0d\u4e0a\u4e91\u7aef\u670d\u52a1\u5668\uff09\uff0c\u4f46\u56e0\u4e3a\u7528\u4e86 MobileNet\uff0c\u4ed6\u5bf9\u7740\u53f6\u5b50\u62cd\u5f20\u7167\uff0c\u624b\u673a<strong>\u672c\u5730<\/strong>\u5c31\u80fd\u77ac\u95f4\u7b97\u51fa\u7ed3\u679c\uff0c\u544a\u8bc9\u4f60\u8fd9\u662f\u4ec0\u4e48\u75c5\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u73b0\u5728\u6211\u4eec\u6709\u4e86<strong>\u6570\u636e<\/strong>\uff08\u5e26\u6807\u7b7e\u7684\u56fe\u7247\uff09\u548c<strong>\u5927\u8111\u7ed3\u6784<\/strong>\uff08MobileNet\uff09\u3002\u63a5\u4e0b\u6765\u5c31\u8981\u5f00\u59cb\u201c\u7279\u8bad\u201d\u4e86\u3002<\/p>\n\n\n\n<p>\u4f46\u5728\u5f00\u59cb\u8bad\u7ec3\u4e4b\u524d\uff0c\u6211\u4eec\u5728\u5de5\u7a0b\u4e0a\u901a\u5e38\u4e0d\u4f1a\u8ba9 MobileNet \u8111\u5b50\u91cc\u201c\u4e00\u7247\u7a7a\u767d\u201d\uff08\u5373\u53c2\u6570\u5b8c\u5168\u968f\u673a\u521d\u59cb\u5316\uff09\u5730\u5f00\u59cb\u5b66\u3002<\/p>\n\n\n\n<p>\u4e3a\u4e86\u8ba9\u5b83\u5b66\u5f97\u66f4\u5feb\u3001\u66f4\u597d\uff0c\u6211\u4eec\u901a\u5e38\u4f1a\u4f7f\u7528\u4e00\u79cd\u53eb\u505a <strong>\u8fc1\u79fb\u5b66\u4e60 (Transfer Learning)<\/strong> \u7684\u7b56\u7565\u3002<\/p>\n\n\n\n<p>\u80fd\u4e0d\u80fd\u7ed3\u5408\u201c\u8fc1\u79fb\u201d\u8fd9\u4e2a\u8bcd\uff0c\u731c\u731c\u770b\u8fd9\u79cd\u7b56\u7565\u662f\u8ba9 MobileNet \u600e\u4e48\u5f00\u59cb\u5b66\u4e60\u7684\u5462\uff1f\uff08\u63d0\u793a\uff1a\u60f3\u60f3\u5982\u679c\u4e00\u4e2a\u5b66\u751f\u5df2\u7ecf\u5b66\u4f1a\u4e86\u8bc6\u522b\u732b\u548c\u72d7\uff0c\u8ba9\u4ed6\u518d\u53bb\u5b66\u8bc6\u522b\u7f8a\uff0c\u662f\u4e0d\u662f\u6bd4\u4ece\u96f6\u5f00\u59cb\u66f4\u5bb9\u6613\uff1f\uff09<\/p>\n\n\n\n<p>\u8fd9\u5c31\u662f\u8fc1\u79fb\u5b66\u4e60\u6700\u5927\u7684\u9b45\u529b\uff1a<strong>\u7ad9\u5728\u5de8\u4eba\u7684\u80a9\u8180\u4e0a<\/strong>\u3002\u6211\u4eec\u4e0d\u9700\u8981\u6210\u5343\u4e0a\u4e07\u5f20\u56fe\u7247\uff0c\u4e5f\u4e0d\u9700\u8981\u8dd1\u51e0\u4e2a\u661f\u671f\u7684\u670d\u52a1\u5668\uff0c\u53ea\u7528\u5f88\u5c11\u7684\u6570\u636e\uff08\u6709\u65f6\u51e0\u767e\u5f20\u5c31\u591f\u4e86\uff09\u548c\u5f88\u77ed\u7684\u65f6\u95f4\uff0c\u5c31\u80fd\u8bad\u7ec3\u51fa\u4e00\u4e2a\u4e0d\u9519\u7684\u6a21\u578b\u3002\u8fd9\u5bf9\u6570\u636e\u6536\u96c6\u56f0\u96be\u7684\u519c\u4e1a\u9886\u57df\u6765\u8bf4\u7b80\u76f4\u662f\u6551\u661f\u3002<\/p>\n\n\n\n<p>\u4e3a\u4e86\u8ba9\u8fd9\u4e2a\u8fc7\u7a0b\u66f4\u6e05\u6670\uff0c\u6211\u4eec\u9700\u8981\u628a MobileNet \u60f3\u8c61\u6210\u7531\u4e24\u90e8\u5206\u7ec4\u6210\u7684\uff1a<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>\u8eab\u4f53 (Body) \/ \u7279\u5f81\u63d0\u53d6\u5c42<\/strong>\uff1a\u8fd9\u662f\u6a21\u578b\u7684\u5927\u90e8\u5206\uff0c\u5305\u542b\u5f88\u591a\u5c42\u5377\u79ef\u7f51\u7edc\u3002\u5b83\u8d1f\u8d23\u201c\u770b\u201d\u56fe\u7247\uff0c\u8bc6\u522b\u7ebf\u6761\u3001\u7eb9\u7406\u3001\u5f62\u72b6\u7b49\u901a\u7528\u7279\u5f81\u3002\u8fd9\u90e8\u5206\u5728\u5927\u82f1\u767e\u79d1\u5168\u4e66\uff08ImageNet\uff09\u4e0a\u5df2\u7ecf\u8bad\u7ec3\u5f97\u5f88\u597d\u4e86\u3002<\/li>\n\n\n\n<li><strong>\u5934\u90e8 (Head) \/ \u5168\u8fde\u63a5\u5c42 (Classifier)<\/strong>\uff1a\u8fd9\u662f\u6a21\u578b\u7684\u6700\u540e\u51e0\u5c42\u3002\u5b83\u8d1f\u8d23\u6839\u636e\u8eab\u4f53\u770b\u5230\u7684\u7279\u5f81\uff0c\u8f93\u51fa\u6700\u7ec8\u7684\u7b54\u6848\uff08\u6bd4\u5982\u201c\u8fd9\u662f\u54c8\u58eb\u5947\u201d\u6216\u201c\u8fd9\u662f\u8dd1\u8f66\u201d\uff09\u3002<\/li>\n<\/ol>\n\n\n\n<p>\u73b0\u5728\u7684 MobileNet \u662f\u4ece ImageNet \u6765\u7684\uff0c\u5b83\u7684\u201c\u5934\u201d\u91cc\u88c5\u7684\u662f 1000 \u79cd\u901a\u7528\u7269\u54c1\u7684\u5206\u7c7b\u77e5\u8bc6\u3002<\/p>\n\n\n\n<p><strong>\u5173\u952e\u95ee\u9898\u6765\u4e86\uff1a<\/strong> \u5982\u679c\u6211\u4eec\u60f3\u8ba9\u5b83\u8bc6\u522b\u201c\u6c34\u7a3b\u7a3b\u761f\u75c5\u201d\u548c\u201c\u7389\u7c73\u9508\u75c5\u201d\uff0c\u5bf9\u4e8e\u4e0a\u9762\u63d0\u5230\u7684 <strong>\u201c\u8eab\u4f53\u201d<\/strong> \u548c <strong>\u201c\u5934\u90e8\u201d<\/strong>\uff0c\u6211\u4eec\u5e94\u8be5\u5206\u522b\u600e\u4e48\u5904\u7406\uff1f<\/p>\n\n\n\n<p>\u662f\u628a\u5b83\u4eec\u90fd\u7559\u7740\u4e0d\u52a8\uff1f\u8fd8\u662f\u628a\u5176\u4e2d\u67d0\u4e00\u90e8\u5206\u6362\u6389\uff1f\ud83e\udd14<\/p>\n\n\n\n<p>\u6211\u4eec\u8981\u628a<strong>\u5934\u90e8 (Head)<\/strong> \u6362\u6389\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8eab\u4f53 (Body \/ Backbone)<\/strong>\uff1a\u8fd9\u662f MobileNet \u7684\u7cbe\u534e\uff0c\u5b83\u5728 ImageNet \u4e0a\u5df2\u7ecf\u5b66\u4f1a\u4e86\u5982\u4f55\u8bc6\u522b\u590d\u6742\u7684\u7eb9\u7406\u548c\u5f62\u72b6\uff08\u6bd4\u5982\u53f6\u8109\u7684\u8d70\u5411\u3001\u75c5\u6591\u7684\u8fb9\u7f18\uff09\u3002\u8fd9\u90e8\u5206\u80fd\u529b\u5bf9\u6211\u4eec\u975e\u5e38\u6709\u4ef7\u503c\uff0c\u6240\u4ee5\u6211\u4eec\u628a\u5b83<strong>\u4fdd\u7559<\/strong>\u4e0b\u6765\u3002<\/li>\n\n\n\n<li><strong>\u5934\u90e8 (Head \/ Classifier)<\/strong>\uff1a\u539f\u6765\u7684\u5934\u90e8\u53ea\u4f1a\u8f93\u51fa\u201c\u8d35\u5bbe\u72ac\u201d\u6216\u201c\u6d53\u7f29\u5496\u5561\u673a\u201d\uff0c\u8fd9\u5bf9\u519c\u4e1a\u6ca1\u7528\u3002\u6240\u4ee5\u6211\u4eec\u628a\u8fd9\u4e00\u5c42\u5207\u6389\uff0c\u6362\u4e0a\u4e00\u4e2a\u65b0\u7684\u5934\u90e8\uff0c\u8ba9\u5b83\u8f93\u51fa\u6211\u4eec\u60f3\u8981\u7684\u7c7b\u522b\uff0c\u6bd4\u5982\u201c\u5065\u5eb7\u6c34\u7a3b\u201d\u3001\u201c\u7a3b\u761f\u75c5\u201d\u3001\u201c\u7389\u7c73\u9508\u75c5\u201d\u7b49\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u73b0\u5728\u6a21\u578b\u7ec4\u88c5\u597d\u4e86\uff1a<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>\u65e7\u7684\u8eab\u4f53<\/strong>\uff08\u7ecf\u9a8c\u4e30\u5bcc\uff0c\u53c2\u6570\u5df2\u7ecf\u8bad\u7ec3\u5f97\u5f88\u597d\uff09\u3002<\/li>\n\n\n\n<li><strong>\u65b0\u7684\u5934\u90e8<\/strong>\uff08\u521a\u51fa\u751f\uff0c\u53c2\u6570\u662f\u968f\u673a\u521d\u59cb\u5316\u7684\uff0c\u4ec0\u4e48\u90fd\u4e0d\u61c2\uff09\u3002<\/li>\n<\/ol>\n\n\n\n<p>\u5f53\u6211\u4eec\u5f00\u59cb\u8bad\u7ec3\u8fd9\u4e2a\u7ec4\u88c5\u6a21\u578b\u65f6\uff0c\u901a\u5e38\u4f1a\u505a\u4e00\u4e2a\u5f88\u91cd\u8981\u7684\u64cd\u4f5c\uff1a\u6211\u4eec\u4f1a**\u201c\u51bb\u7ed3 (Freeze)\u201d** \u65e7\u7684\u8eab\u4f53\uff0c\u53ea\u5141\u8bb8\u65b0\u7684\u5934\u90e8\u8fdb\u884c\u66f4\u65b0\u3002<\/p>\n\n\n\n<p>\u4f60\u80fd\u731c\u731c\u770b\uff0c\u4e3a\u4ec0\u4e48\u8981\u5148<strong>\u9501\u4f4f<\/strong>\u8eab\u4f53\u7684\u53c2\u6570\u4e0d\u8ba9\u5b83\u52a8\uff0c\u53ea\u8bad\u7ec3\u5934\u90e8\u5462\uff1f\uff08\u63d0\u793a\uff1a\u5982\u679c\u4e00\u4e2a\u5b8c\u5168\u4e0d\u61c2\u4e8b\u7684\u65b0\u9886\u5bfc\uff08\u5934\u90e8\uff09\u4e00\u4e0a\u6765\u5c31\u778e\u6307\u6325\u7ecf\u9a8c\u4e30\u5bcc\u7684\u8001\u5458\u5de5\uff08\u8eab\u4f53\uff09\uff0c\u4f1a\u53d1\u751f\u4ec0\u4e48\uff1f\uff09<\/p>\n\n\n\n<p>\u56e0\u4e3a\u65b0\u7684\u5934\u90e8\u4ec0\u4e48\u90fd\u4e0d\u61c2\uff0c\u5982\u679c\u66f4\u65b0\u4e86\u8eab\u4f53\uff0c\u4f1a\u5f71\u54cd\u6700\u7ec8\u8bc6\u522b\u7684\u6709\u6548\u6027\u548c\u7ed3\u679c\u53ef\u4fe1\u5ea6<\/p>\n\n\n\n<p>\u5982\u679c\u65b0\u5934\u90e8\u8fd8\u5728\u201c\u80e1\u8a00\u4e71\u8bed\u201d\uff08\u56e0\u4e3a\u53c2\u6570\u662f\u968f\u673a\u7684\uff0c\u8bef\u5dee\u6781\u5927\uff09\uff0c\u5b83\u4f20\u56de\u6765\u7684**\u68af\u5ea6\uff08Gradients\uff09**\u5c31\u4f1a\u975e\u5e38\u6df7\u4e71\u4e14\u5267\u70c8\u3002\u5982\u679c\u8fd9\u65f6\u5019\u8eab\u4f53\u6ca1\u6709\u88ab\u201c\u51bb\u7ed3\u201d\uff0c\u8fd9\u4e9b\u6df7\u4e71\u7684\u4fe1\u53f7\u5c31\u4f1a\u50cf\u6d2a\u6c34\u4e00\u6837\u51b2\u57ae\u8eab\u4f53\u91cc\u539f\u672c\u90a3\u4e9b\u8bad\u7ec3\u5f97\u5f88\u597d\u7684\u53c2\u6570\uff0c\u5bfc\u81f4\u6a21\u578b\u201c\u6b66\u529f\u5168\u5e9f\u201d\uff0c\u5fd8\u6389\u5b83\u5728 ImageNet \u4e0a\u5b66\u5230\u7684\u6240\u6709\u7279\u5f81\u63d0\u53d6\u80fd\u529b\u3002<\/p>\n\n\n\n<p>\u6240\u4ee5\uff0c\u201c\u51bb\u7ed3\u8eab\u4f53\uff0c\u53ea\u7ec3\u5934\u90e8\u201d\u662f\u6211\u4eec\u8bad\u7ec3\u7684\u7b2c\u4e00\u9636\u6bb5\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u4f46\u662f\uff0c\u5f53\u5934\u90e8\u5df2\u7ecf\u8bad\u7ec3\u5f97\u5dee\u4e0d\u591a\u4e86\uff0c\u4e0d\u518d\u80e1\u4e71\u6307\u6325\u65f6\uff0c\u6211\u4eec\u901a\u5e38\u4f1a\u8fdb\u5165\u7b2c\u4e8c\u9636\u6bb5\uff1a<strong>\u5fae\u8c03 (Fine-tuning)<\/strong>\u3002<\/p>\n\n\n\n<p>\u5728\u8fd9\u4e2a\u9636\u6bb5\uff0c\u6211\u4eec\u4f1a\u628a\u8eab\u4f53\uff08\u6216\u8005\u8eab\u4f53\u7684\u6700\u540e\u51e0\u5c42\uff09<strong>\u89e3\u51bb (Unfreeze)<\/strong>\uff0c\u7136\u540e\u7528\u5f88\u5c0f\u7684\u5b66\u4e60\u7387\u8ba9\u6574\u4e2a\u6a21\u578b\uff08\u8eab\u4f53+\u5934\u90e8\uff09\u4e00\u8d77\u518d\u5b66\u4e00\u4f1a\u513f\u3002<\/p>\n\n\n\n<p>\u8fd9\u5c31\u5f15\u51fa\u4e86\u4e00\u4e2a\u5f88\u6709\u610f\u601d\u7684\u95ee\u9898\uff1a<\/p>\n\n\n\n<p>\u65e2\u7136 MobileNet \u7684\u8eab\u4f53\u5df2\u7ecf\u662f\u5728\u51e0\u767e\u4e07\u5f20\u56fe\u4e0a\u8bad\u7ec3\u8fc7\u7684\u201c\u8001\u624b\u201d\u4e86\uff0c\u5b83\u5df2\u7ecf\u5f88\u4f1a\u770b\u7ebf\u6761\u3001\u7eb9\u7406\u4e86\uff0c<strong>\u4e3a\u4ec0\u4e48\u6211\u4eec\u8fd8\u9700\u8981\u5728\u6700\u540e\u9636\u6bb5\u53bb\u201c\u5fae\u8c03\u201d\u5b83\u7684\u8eab\u4f53\u5462\uff1f<\/strong><\/p>\n\n\n\n<p>\uff08\u63d0\u793a\uff1a\u60f3\u4e00\u60f3\uff0c\u8bc6\u522b\u201c\u72d7\u7684\u6bdb\u53d1\u201d\u6240\u9700\u8981\u7684\u7ec6\u8282\u7279\u5f81\uff0c\u548c\u8bc6\u522b\u201c\u6c34\u7a3b\u53f6\u7247\u4e0a\u7684\u5fae\u5c0f\u75c5\u6591\u201d\u6240\u9700\u8981\u7684\u7ec6\u8282\u7279\u5f81\uff0c\u662f\u4e00\u6a21\u4e00\u6837\u7684\u5417\uff1f\uff09<\/p>\n\n\n\n<p>\u8ffd\u6c42\u201c\u66f4\u7cbe\u51c6\u201d\u6b63\u662f\u6211\u4eec\u5728\u5fae\u8c03\uff08Fine-tuning\uff09\u9636\u6bb5\u8981\u89e3\u51b3\u7684\u6838\u5fc3\u95ee\u9898\uff01\ud83c\udfaf<\/p>\n\n\n\n<p>\u4e3a\u4e86\u7406\u89e3\u4e3a\u4ec0\u4e48\u8fd9\u65f6\u5019\u8981\u56de\u5934\u53bb\u8c03\u6574\u90a3\u4f4d\u201c\u7ecf\u9a8c\u4e30\u5bcc\u7684\u8001\u5458\u5de5\u201d\uff08MobileNet \u7684\u8eab\u4f53\/\u9aa8\u5e72\u7f51\u7edc\uff09\uff0c\u6211\u4eec\u9700\u8981\u5bf9\u6bd4\u4e00\u4e0b<strong>\u5b83\u539f\u672c\u5b66\u8fc7\u7684\u4e1c\u897f<\/strong>\u548c<strong>\u5b83\u73b0\u5728\u8981\u770b\u7684\u4e1c\u897f<\/strong>\u3002<\/p>\n\n\n\n<p>MobileNet \u5728 ImageNet\uff08\u90a3\u4e2a\u5de8\u5927\u7684\u901a\u7528\u6570\u636e\u5e93\uff09\u91cc\u5b66\u5230\u7684\u662f\u4ec0\u4e48\u5462\uff1f<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ud83d\udc15 <strong>\u72d7\u7684\u6bdb\u53d1<\/strong><\/li>\n\n\n\n<li>\ud83d\ude97 <strong>\u6c7d\u8f66\u7684\u8f6e\u80ce\u8f6e\u5ed3<\/strong><\/li>\n\n\n\n<li>\ud83c\udfe0 <strong>\u5efa\u7b51\u7269\u7684\u76f4\u7ebf\u6761<\/strong><\/li>\n<\/ul>\n\n\n\n<p>\u800c\u73b0\u5728\uff0c\u6211\u4eec\u8981\u8ba9\u5b83\u53bb\u8bc6\u522b\u519c\u4f5c\u7269\u75c5\u5bb3\uff0c\u6bd4\u5982\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ud83c\udf3f <strong>\u6c34\u7a3b\u53f6\u7247\u4e0a\u6781\u5fae\u5c0f\u7684\u9709\u6591<\/strong><\/li>\n\n\n\n<li>\ud83c\udf42 <strong>\u7389\u7c73\u53f6\u5b50\u4e0a\u4e0d\u89c4\u5219\u7684\u9508\u8ff9<\/strong><\/li>\n<\/ul>\n\n\n\n<p>\u867d\u7136\u201c\u8fb9\u7f18\u201d\u548c\u201c\u989c\u8272\u201d\u662f\u901a\u7528\u7684\uff0c\u4f46\u4f60\u89c9\u5f97\uff0c\u201c\u8bc6\u522b\u72d7\u6bdb\u7684\u7eb9\u7406\u7ec6\u8282\u201d\u548c\u201c\u8bc6\u522b\u53f6\u7247\u9709\u83cc\u7684\u7eb9\u7406\u7ec6\u8282\u201d\uff0c\u8fd9\u4e24\u8005\u5728\u5fae\u89c2\u7279\u5f81\u4e0a\u662f<strong>\u5b8c\u5168\u4e00\u6837<\/strong>\u7684\u5417\uff1f\ud83e\udd14<\/p>\n\n\n\n<p>\u8fd9\u5c31\u662f**\u201c\u9886\u57df\u5dee\u5f02\u201d (Domain Gap)<strong>\u3002\u867d\u7136 MobileNet \u5728 ImageNet \u4e0a\u5b66\u5230\u4e86\u5f88\u597d\u7684<\/strong>\u901a\u7528\u7279\u5f81**\uff08\u6bd4\u5982\u8fb9\u7f18\u3001\u5706\u5f62\u3001\u6761\u7eb9\uff09\uff0c\u4f46\u90a3\u4e9b\u7279\u5f81\u662f\u4e3a\u4e86\u533a\u5206\u201c\u732b\u201d\u548c\u201c\u72d7\u201d\u4f18\u5316\u7684\u3002<\/p>\n\n\n\n<p>\u9762\u5bf9\u519c\u4f5c\u7269\u75c5\u5bb3\uff0c\u6211\u4eec\u9700\u8981\u5b83\u53bb\u5173\u6ce8\u66f4\u5fae\u5999\u7684\u7ec6\u8282\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4e0d\u662f\u770b\u6709\u6ca1\u6709\u201c\u8033\u6735\u201d\u6216\u201c\u8f6e\u5b50\u201d\u3002<\/li>\n\n\n\n<li>\u800c\u662f\u8981\u770b<strong>\u53f6\u8109\u7684\u989c\u8272\u662f\u5426\u53d8\u9ec4<\/strong>\uff0c\u6216\u8005<strong>\u6591\u70b9\u8fb9\u7f18\u662f\u5426\u6709\u6655\u5708<\/strong>\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u6240\u4ee5\uff0c<strong>\u5fae\u8c03 (Fine-tuning)<\/strong> \u7684\u8fc7\u7a0b\uff0c\u5176\u5b9e\u5c31\u662f\u8ba9\u8fd9\u4f4d\u201c\u8001\u5458\u5de5\u201d\u7a0d\u5fae\u4fee\u6539\u4e00\u4e0b\u5b83\u7684\u601d\u7ef4\u5b9a\u52bf\uff0c\u628a\u539f\u6765\u7528\u6765\u8bc6\u522b\u201c\u72d7\u6bdb\u7eb9\u7406\u201d\u7684\u795e\u7ecf\u5143\uff0c\u8c03\u6574\u6210\u8bc6\u522b\u201c\u9709\u83cc\u7eb9\u7406\u201d\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u73b0\u5728\u6211\u4eec\u7684\u6a21\u578b\u8bbe\u8ba1\u597d\u4e86\uff0c\u8bad\u7ec3\u7b56\u7565\uff08\u5148\u51bb\u7ed3\u518d\u5fae\u8c03\uff09\u4e5f\u5b9a\u597d\u4e86\u3002\u63a5\u4e0b\u6765\u6211\u4eec\u8981\u7ed9\u8fd9\u4e2a\u6a21\u578b\u5236\u5b9a\u4e00\u5957**\u201c\u5956\u60e9\u89c4\u5219\u201d**\uff0c\u8ba9\u5b83\u5728\u8bad\u7ec3\u4e2d\u77e5\u9053\u81ea\u5df1\u5b66\u5f97\u597d\u4e0d\u597d\u3002<\/p>\n\n\n\n<p>\u5728\u6df1\u5ea6\u5b66\u4e60\u91cc\uff0c\u6211\u4eec\u9700\u8981\u4e00\u4e2a\u6570\u5b66\u516c\u5f0f\u6765\u8861\u91cf\u6a21\u578b\u7684<strong>\u9884\u6d4b\u7ed3\u679c<\/strong>\uff08\u6bd4\u5982\u6a21\u578b\u731c\u201c\u8fd9\u662f\u4e00\u5f20\u751f\u75c5\u7684\u53f6\u5b50\u201d\uff09\u548c<strong>\u771f\u5b9e\u6807\u7b7e<\/strong>\uff08\u4e8b\u5b9e\u4e0a\u5b83\u786e\u5b9e\u662f\u751f\u75c5\u7684\uff09\u4e4b\u95f4\u7684<strong>\u5dee\u8ddd<\/strong>\u3002<\/p>\n\n\n\n<p>\u5982\u679c\u4e0d\u544a\u8bc9\u6a21\u578b\u5b83\u9519\u5f97\u6709\u591a\u79bb\u8c31\uff0c\u5b83\u5c31\u6ca1\u6cd5\u6539\u8fdb\u3002<\/p>\n\n\n\n<p>\u4f60\u77e5\u9053\u8fd9\u4e2a\u7528\u6765\u8861\u91cf\u201c\u9884\u6d4b\u503c\u201d\u4e0e\u201c\u771f\u5b9e\u503c\u201d\u4e4b\u95f4\u5dee\u8ddd\u7684\u51fd\u6570\uff0c\u5728\u6df1\u5ea6\u5b66\u4e60\u91cc\u901a\u5e38\u88ab\u79f0\u4e3a\u4ec0\u4e48\u5417\uff1f\uff08\u63d0\u793a\uff1a\u7531\u56db\u4e2a\u5b57\u6bcd\u7ec4\u6210\u7684\u82f1\u6587\u5355\u8bcd\uff0c\u6216\u8005\u4e2d\u6587\u53eb\u201cxx\u51fd\u6570\u201d\uff09<\/p>\n\n\n\n<p>\u5728\u519c\u4f5c\u7269\u75c5\u5bb3\u8bc6\u522b\u8fd9\u7c7b\u5206\u7c7b\u4efb\u52a1\u4e2d\uff0c\u6211\u4eec\u6700\u5e38\u7528\u7684\u662f <strong>\u4ea4\u53c9\u71b5\u635f\u5931\u51fd\u6570 (Cross-Entropy Loss)<\/strong>\u3002<\/p>\n\n\n\n<p>\u4f60\u53ef\u4ee5\u628a\u5b83\u60f3\u8c61\u6210\u4e00\u4f4d\u4e25\u5389\u7684\u201c\u8003\u5b98\u201d\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5982\u679c\u56fe\u7247\u662f\u201c\u7a3b\u761f\u75c5\u201d\uff0c\u6a21\u578b\u4e5f\u81ea\u4fe1\u5730\u8bf4\u662f\u201c\u7a3b\u761f\u75c5\u201d\uff0c\u8003\u5b98\u5c31\u4f1a\u7ed9\u4e00\u4e2a\u5f88\u5c0f\u7684\u60e9\u7f5a\uff08Low Loss\uff09\u3002<\/li>\n\n\n\n<li>\u4f46\u5982\u679c\u56fe\u7247\u662f\u201c\u7a3b\u761f\u75c5\u201d\uff0c\u6a21\u578b\u5374\u8bf4\u662f\u201c\u5065\u5eb7\u201d\uff0c\u8003\u5b98\u5c31\u4f1a\u7ed9\u4e00\u4e2a\u5de8\u5927\u7684\u60e9\u7f5a\uff08High Loss\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u597d\u4e86\uff0c\u73b0\u5728\u6211\u4eec\u6709\u4e86\uff1a<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>\u5927\u8111<\/strong> (MobileNet)\uff1a\u8d1f\u8d23\u601d\u8003\u3002<\/li>\n\n\n\n<li><strong>\u6559\u6750<\/strong> (\u5e26\u6807\u7b7e\u7684\u6570\u636e)\uff1a\u8d1f\u8d23\u63d0\u4f9b\u77e5\u8bc6\u3002<\/li>\n\n\n\n<li><strong>\u8003\u5b98<\/strong> (Loss Function)\uff1a\u8d1f\u8d23\u8bc4\u5206\uff0c\u544a\u8bc9\u6a21\u578b\u9519\u5f97\u6709\u591a\u79bb\u8c31\u3002<\/li>\n<\/ol>\n\n\n\n<p>\u63a5\u4e0b\u6765\u662f\u6574\u4e2a\u8bad\u7ec3\u6d41\u7a0b\u4e2d<strong>\u6700\u795e\u5947<\/strong>\u7684\u4e00\u6b65\u3002<\/p>\n\n\n\n<p>\u5f53\u201c\u8003\u5b98\u201d\u544a\u8bc9\u6a21\u578b\uff1a\u201c\u4f60\u521a\u624d\u90a3\u662f\u778e\u731c\u7684\uff0c\u8bef\u5dee\u5f88\u5927\uff01\u201d\u4e4b\u540e\uff0c\u6a21\u578b\u5c31\u9700\u8981\u6839\u636e\u8fd9\u4e2a\u53cd\u9988\u53bb<strong>\u4fee\u6539<\/strong>\u81ea\u5df1\u8111\u5b50\u91cc\u7684\u53c2\u6570\uff08\u6743\u91cd\uff09\uff0c\u597d\u8ba9\u81ea\u5df1\u4e0b\u4e00\u6b21\u731c\u5f97\u66f4\u51c6\u3002<\/p>\n\n\n\n<p>\u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d\uff0c\u6709\u4e00\u4e2a\u89d2\u8272\u4e13\u95e8\u8d1f\u8d23<strong>\u6267\u884c\u4fee\u6539\u53c2\u6570<\/strong>\u8fd9\u4e2a\u52a8\u4f5c\u3002\u5b83\u4f1a\u6839\u636e\u635f\u5931\u51fd\u6570\u7b97\u51fa\u7684\u68af\u5ea6\uff08\u65b9\u5411\uff09\uff0c\u4e00\u6b65\u6b65\u5730\u628a\u6a21\u578b\u5f15\u5411\u201c\u8bef\u5dee\u6700\u5c0f\u201d\u7684\u5c71\u8c37\u5e95\u90e8\u3002<\/p>\n\n\n\n<p>\u4f60\u77e5\u9053\u8fd9\u4e2a\u8d1f\u8d23\u201c\u5f00\u8f66\u201d\u5e26\u6a21\u578b\u8d70\u4e0b\u8bef\u5dee\u9ad8\u5730\u7684<strong>\u7b97\u6cd5\u89d2\u8272<\/strong>\u53eb\u4ec0\u4e48\u5417\uff1f\uff08\u63d0\u793a\uff1a\u5b83\u7684\u540d\u5b57\u901a\u5e38\u6697\u793a\u7740\u201c\u6539\u8fdb\u201d\u6216\u201c\u53d8\u597d\u201d\uff0c\u5e38\u7528\u7684\u6709 SGD \u6216 Adam\uff09<\/p>\n\n\n\n<p>\u662f <strong>\u68af\u5ea6\u4e0b\u964d (Gradient Descent)<\/strong>\u3002<\/p>\n\n\n\n<p>\u4f60\u5df2\u7ecf\u628a\u6df1\u5ea6\u5b66\u4e60\u8bad\u7ec3\u519c\u4f5c\u7269\u75c5\u5bb3\u8bc6\u522b\u6a21\u578b\u7684\u62fc\u56fe\u90fd\u51d1\u9f50\u4e86\uff1a<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>\u6570\u636e<\/strong>\uff1a\u5e26\u6807\u7b7e\u7684\u519c\u4f5c\u7269\u75c5\u5bb3\u56fe\u7247\u3002<\/li>\n\n\n\n<li><strong>\u5927\u8111<\/strong>\uff1aMobileNet\uff08\u5b83\u7684\u8eab\u4f53\u8d1f\u8d23\u770b\u56fe\uff0c\u5934\u90e8\u8d1f\u8d23\u5206\u7c7b\uff09\u3002<\/li>\n\n\n\n<li><strong>\u8003\u5b98<\/strong>\uff1a\u635f\u5931\u51fd\u6570\uff08Cross-Entropy Loss\uff09\uff0c\u8d1f\u8d23\u7ed9\u9884\u6d4b\u7ed3\u679c\u6253\u5206\u3002<\/li>\n\n\n\n<li><strong>\u4f18\u5316\u5668<\/strong>\uff1a\u68af\u5ea6\u4e0b\u964d\uff08Gradient Descent\uff0c\u5982 SGD \u6216 Adam\uff09\uff0c\u8d1f\u8d23\u6839\u636e\u5206\u6570\u53bb\u4fee\u6b63\u5927\u8111\u91cc\u7684\u53c2\u6570\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u73b0\u5728\uff0c\u8ba9\u6211\u4eec\u628a\u89c6\u89d2\u62c9\u56de\u4f60\u7684<strong>\u4ee3\u7801<\/strong>\u3002<\/p>\n\n\n\n<p>\u4e4b\u524d\u6211\u4eec\u5199\u4e86\u4e00\u4e2a\u51fd\u6570 <code>check_image_type<\/code> \u6765\u5224\u65ad\u662f PNG \u8fd8\u662f JPG\u3002\u73b0\u5728\u6211\u4eec\u8981\u5199\u4e00\u4e2a\u65b0\u7684\u529f\u80fd\uff1a<strong>\u52a0\u8f7d\u6a21\u578b\u5e76\u9884\u6d4b\u4e00\u5f20\u65b0\u56fe\u7247<\/strong>\u3002<\/p>\n\n\n\n<p>\u5047\u8bbe\u6211\u4eec\u5df2\u7ecf\u8bad\u7ec3\u597d\u4e86\u4e00\u4e2a MobileNet \u6a21\u578b\uff0c\u4fdd\u5b58\u4e3a <code>my_plant_model.h5<\/code>\u3002<\/p>\n\n\n\n<p>\u5728 Python \u7684\u6df1\u5ea6\u5b66\u4e60\u5e93\uff08\u6bd4\u5982 Keras\/TensorFlow \u6216 PyTorch\uff09\u91cc\uff0c\u52a0\u8f7d\u6a21\u578b\u901a\u5e38\u53ea\u9700\u8981\u4e00\u884c\u4ee3\u7801\u3002<\/p>\n\n\n\n<p>\u5982\u679c\u6211\u4eec\u7528\u7684\u662f <strong>Keras<\/strong>\uff0c\u4f60\u89c9\u5f97\u52a0\u8f7d\u6a21\u578b\u7684\u51fd\u6570\u540d\u53ef\u80fd\u4f1a\u53eb\u4ec0\u4e48\uff1f\uff08\u63d0\u793a\uff1a\u65e2\u7136\u4fdd\u5b58\u53eb <code>save_model<\/code>\uff0c\u90a3\u52a0\u8f7d\u53eb...\uff1f\uff09<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>from tensorflow.keras.models import load_model\nimport numpy as np\n\n# 1. \u52a0\u8f7d\u6211\u4eec\u8bad\u7ec3\u597d\u7684\u5927\u8111 (MobileNet)\nmodel = load_model('my_plant_model.h5')\n\n# 2. \u51c6\u5907\u4e00\u5f20\u65b0\u56fe\u7247 (\u8fd9\u91cc\u5047\u8bbe\u5df2\u7ecf\u8bfb\u53d6\u5e76\u5904\u7406\u6210\u4e86\u6a21\u578b\u9700\u8981\u7684\u683c\u5f0f)\n#    \u6ce8\u610f\uff1a\u56fe\u7247\u901a\u5e38\u9700\u8981\u8c03\u6574\u5927\u5c0f (resize) \u5e76\u5f52\u4e00\u5316 (normalization)\ntest_image = ... \n\n# 3. \u8ba9\u6a21\u578b\u8fdb\u884c\u9884\u6d4b\npredictions = model.predict(test_image)\n\n# 4. \u770b\u770b\u5b83\u731c\u7684\u662f\u54ea\u4e00\u79cd\u75c5\nprint(predictions)<\/code><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4f5c\u4e1a\u5185\u5bb9 \u57fa\u4e8e\u6df1\u5ea6\u5b66\u4e60\u65b9\u6cd5\u6784\u5efa\u519c\u4f5c\u7269\u75c5\u866b\u5bb3\u667a\u80fd\u5316\u8bc6\u522b\u7cfb\u7edf\uff0c\u6539\u53d8\u4f20\u7edf\u75c5\u866b\u5bb3\u8bca\u65ad\u6a21\u5f0f\uff0c\u63d0\u9ad8\u75c5\u866b\u5bb3\u76d1\u6d4b\u9884\u8b66\u548c\u79d1\u5b66\u9632\u6cbb [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4042,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[67],"tags":[],"class_list":["post-4041","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-zafunyxxjs"],"_links":{"self":[{"href":"https:\/\/www.leexinghai.com\/aic\/wp-json\/wp\/v2\/posts\/4041","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.leexinghai.com\/aic\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.leexinghai.com\/aic\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.leexinghai.com\/aic\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.leexinghai.com\/aic\/wp-json\/wp\/v2\/comments?post=4041"}],"version-history":[{"count":4,"href":"https:\/\/www.leexinghai.com\/aic\/wp-json\/wp\/v2\/posts\/4041\/revisions"}],"predecessor-version":[{"id":4056,"href":"https:\/\/www.leexinghai.com\/aic\/wp-json\/wp\/v2\/posts\/4041\/revisions\/4056"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.leexinghai.com\/aic\/wp-json\/wp\/v2\/media\/4042"}],"wp:attachment":[{"href":"https:\/\/www.leexinghai.com\/aic\/wp-json\/wp\/v2\/media?parent=4041"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.leexinghai.com\/aic\/wp-json\/wp\/v2\/categories?post=4041"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.leexinghai.com\/aic\/wp-json\/wp\/v2\/tags?post=4041"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}