{"id":2144,"date":"2025-03-05T10:43:40","date_gmt":"2025-03-05T02:43:40","guid":{"rendered":"https:\/\/www.yusian.com\/blog\/?p=2144"},"modified":"2025-03-05T10:44:30","modified_gmt":"2025-03-05T02:44:30","slug":"%e7%90%86%e8%a7%a3%e5%8d%b7%e7%a7%af%e7%a5%9e%e7%bb%8f%e7%bd%91%e7%bb%9c%ef%bc%88cnn%ef%bc%89%e5%9b%9b%e4%b8%aa%e5%9f%ba%e6%9c%ac%e6%a6%82%e5%bf%b5%e5%9b%9b%ef%bc%9a%e5%b1%95%e5%b9%b3%e4%b8%8e","status":"publish","type":"post","link":"https:\/\/www.yusian.com\/blog\/article\/2025\/03\/05\/1043402144.html","title":{"rendered":"\u7406\u89e3\u5377\u79ef\u795e\u7ecf\u7f51\u7edc\uff08CNN\uff09\u56db\u4e2a\u57fa\u672c\u6982\u5ff5\u56db\uff1a\u5c55\u5e73\u4e0e\u5168\u8fde\u63a5"},"content":{"rendered":"<p>\u5c55\u5e73\u4e0e\u5168\u8fde\u63a5\u5f97\u5230\u7279\u5f81\u503c<\/p>\n<pre><code class=\"language-python line-numbers\">import numpy as np\n\n# 1\u3001\u5b9a\u4e49\u8f93\u5165\u56fe\u7247\uff1a4x4\u7684\u56fe\u7247\uff0c0\u8868\u793a\u767d\u8272\uff0c1\u8868\u793a\u9ed1\u8272\nimage = np.array([\n    [0, 0, 1, 1],\n    [0, 0, 1, 1],\n    [1, 1, 0, 0],\n    [1, 1, 0, 0]\n])\nprint('\u8f93\u5165\u56fe\u7247: \\n', image)\n\n# 2\u3001\u5377\u79ef\uff1a\u75282x2\u6ee4\u6ce2\u627e\u5bf9\u89d2\u7279\u5f81\nfilter_simple = np.array([\n    [1, 0], \n    [0, 1]\n])\nprint('\u6ee4\u6ce2\u5668: \\n', filter_simple)\n\n# \u8ba1\u7b97\u5377\u79ef\u7ed3\u679c\nconv_result = np.zeros((3, 3))\nfor i in range(3):\n    for j in range(3):\n        conv_result[i, j] = np.sum(image[i:i+2, j:j+2] * filter_simple)\nprint('\u5377\u79ef\u7ed3\u679c: \\n', conv_result)\n\n# 3\u3001\u6c60\u5316\uff1a 2x2\u6700\u5927\u6c60\u5316\uff0c\u7f29\u5c0f\u7279\u5f81\u56fe\npooled = np.zeros((1, 1))\npooled[0, 0] = np.max(conv_result[0:2, 0:2])\nprint('\u6c60\u5316\u7ed3\u679c: \\n', pooled)\n\n# 4\u3001\u5c55\u5e73\uff1a\u628a\u77e9\u9635\u53d8\u4e00\u7ef4\u6570\u7ec4\nflattened = pooled.flatten()\nprint('\u5c55\u5e73: ', flattened)\n\n# 5\u3001\u5168\u8fde\u63a5\uff1a\u7528\u6743\u91cd\u8ba1\u7b97\u5f97\u5206\nweights = np.array([2])\noutput = np.dot(flattened, weights)\nprint('\u6743\u91cd\uff1a', weights)\nprint('\u8f93\u51fa\uff1a', output)\n\n# 6\u3001\u5224\u65ad\uff1a\u6839\u636e\u5f97\u5206\u5f97\u51fa\u7ed3\u8bba\nthreshold = 3 # \u9608\u503c\nif output &gt; threshold:\n    print(f\"\u7ed3\u8bba\uff1a\u6709\u5bf9\u89d2\u7ebf\u7279\u5f81\uff08\u5f97\u5206\uff1a{output} &gt; {threshold}\uff09\")\nelse:\n    print(f\"\u7ed3\u8bba\uff1a\u65e0\u5bf9\u89d2\u7ebf\u7279\u5f81\uff08\u5f97\u5206\uff1a{output} &lt;= {threshold}\uff09\")\n\n<\/code><\/pre>\n<p>\u8f93\u51fa\u7ed3\u679c\uff1a<\/p>\n<pre><code class=\"language-terminal line-numbers\">\u8f93\u5165\u56fe\u7247: \n [[0 0 1 1]\n [0 0 1 1]\n [1 1 0 0]\n [1 1 0 0]]\n\u6ee4\u6ce2\u5668: \n [[0 1]\n [1 0]]\n\u5377\u79ef\u7ed3\u679c: \n [[0. 1. 2.]\n [1. 2. 1.]\n [2. 1. 0.]]\n\u6c60\u5316\u7ed3\u679c: \n [[2.]]\n\u5c55\u5e73:  [2.]\n\u6743\u91cd\uff1a [2]\n\u8f93\u51fa\uff1a 4.0\n\u7ed3\u8bba\uff1a\u6709\u5bf9\u89d2\u7ebf\u7279\u5f81\uff08\u5f97\u5206\uff1a4.0 &gt; 3\uff09\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u5c55\u5e73\u4e0e\u5168\u8fde\u63a5\u5f97\u5230\u7279\u5f81\u503c import numpy as np # 1\u3001\u5b9a\u4e49\u8f93\u5165\u56fe\u7247\uff1a4&#215;4\u7684\u56fe\u7247\uff0c0\u8868\u793a\u767d\u8272\uff0c1\u8868\u793a\u9ed1\u8272 image = np.array([ [0, 0, 1, 1], [0, 0, 1, 1], [1, 1, 0, 0], [1, 1, 0, 0] ]) print(&#8216;\u8f93\u5165\u56fe\u7247: \\n&#8217;, image) # 2\u3001\u5377\u79ef\uff1a\u75282&#215;2\u6ee4\u6ce2\u627e\u5bf9\u89d2\u7279\u5f81 filter_simple = np.array([ [1, 0], [0, 1] ]) print(&#8216;\u6ee4\u6ce2\u5668: \\n&#8217;, filter_simple) # \u8ba1\u7b97\u5377\u79ef\u7ed3\u679c conv_result = np.zeros((3, 3)) for i in range(3): for j [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[416,474,473,470],"class_list":["post-2144","post","type-post","status-publish","format-standard","hentry","category-article","tag-ai","tag-convolution","tag-tensorflow","tag-470"],"_links":{"self":[{"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/posts\/2144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/comments?post=2144"}],"version-history":[{"count":0,"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/posts\/2144\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/media?parent=2144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/categories?post=2144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/tags?post=2144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}