tag:blogger.com,1999:blog-70868666501118162232024-03-13T06:24:20.251-07:00陳雲濤的部落格taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.comBlogger280125tag:blogger.com,1999:blog-7086866650111816223.post-51929623877903179132023-03-03T02:17:00.005-08:002023-03-03T08:14:37.863-08:00[筆記] macro, micro 與 binary 不同版本的 acc., precision, recall, fscore 計算方法<p><span face="-apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"" style="background-color: white; color: #333333; font-size: 16px; letter-spacing: 0.35px;">使用套件: </span><a href="https://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_recall_fscore_support.html" rel="noopener" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #337ab7; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; text-decoration-line: none;" target="_blank">https://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_recall_fscore_support.html</a></p><p class="part" data-endline="6" data-position="73" data-size="0" data-startline="3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="182" data-size="10" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">這篇舉例說明頗清楚:</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><a href="https://blog.csdn.net/jmh1996/article/details/114935105" rel="noopener" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration-line: none;" target="_blank">https://blog.csdn.net/jmh1996/article/details/114935105</a></p><p class="part" data-endline="9" data-position="250" data-size="0" data-startline="8" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="250" data-size="8" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">我也來舉個例子:</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="259" data-size="36" loading="lazy" src="https://i.imgur.com/PhurzsV.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part" data-endline="11" data-position="297" data-size="0" data-startline="11" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="297" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">Notations</span></p><ul class="part" data-endline="16" data-startline="12" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="12" data-position="313" data-size="0" data-startline="12" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span data-position="313" data-size="16" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">gt: ground truth</span></li><li data-endline="13" data-position="332" data-size="0" data-startline="13" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="332" data-size="20" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">pred: predict result</span></li><li data-endline="14" data-position="355" data-size="0" data-startline="14" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="355" data-size="22" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">檢測陽性,正樣本 + : label 為 1</span></li><li data-endline="16" data-position="381" data-size="0" data-startline="15" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="381" data-size="22" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">檢測陰性,負樣本 - : label 為 0</span></li></ul><p class="part" data-endline="17" data-position="405" data-size="0" data-startline="17" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="405" data-size="5" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">看表格解釋<span></span></span></p><a name='more'></a><p></p><table class="part" data-endline="23" data-startline="18" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-collapse: collapse; border-spacing: 0px; color: #333333; display: block; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; overflow: auto; width: 728px; word-break: keep-all;"><thead style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><tr style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-top: 1px solid rgb(204, 204, 204); box-sizing: border-box;"><th style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px; text-align: left;"></th><th style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px; text-align: left;"><span data-position="421" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">d1</span></th><th style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px; text-align: left;"><span data-position="426" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">d2</span></th><th style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px; text-align: left;"><span data-position="431" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">d3</span></th><th style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px; text-align: left;"><span data-position="436" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">d4</span></th><th style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px; text-align: left;"><span data-position="441" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">d5</span></th><th style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px; text-align: left;"><span data-position="446" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">d6</span></th><th style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px; text-align: left;"><span data-position="451" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">d7</span></th><th style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px; text-align: left;"><span data-position="456" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">d8</span></th><th style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px; text-align: left;"><span data-position="461" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">d9</span></th><th style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px; text-align: left;"><span data-position="466" data-size="3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">d10</span></th></tr></thead><tbody style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><tr style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-top: 1px solid rgb(204, 204, 204); box-sizing: border-box;"><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="533" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">gt</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="541" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">0</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="546" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">0</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="551" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">0</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="556" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">1</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="561" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">1</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="566" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">0</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="571" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">0</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="576" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">0</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="581" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">0</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="586" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">1</span></td></tr><tr style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f8f8f8; border-top: 1px solid rgb(204, 204, 204); box-sizing: border-box;"><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="593" data-size="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">pred</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="601" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">0</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="606" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">1</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="611" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">0</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="616" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">1</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="621" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">0</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="626" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">0</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="631" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">0</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="636" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">1</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="641" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">0</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="646" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">1</span></td></tr><tr style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-top: 1px solid rgb(204, 204, 204); box-sizing: border-box;"><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="653" data-size="3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">對於+</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="660" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">TN</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="665" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">FP</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="670" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">TN</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="675" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">TP</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="680" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">FN</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="685" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">TN</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="690" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">TN</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="695" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">FP</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="700" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">TN</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="705" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">TP</span></td></tr><tr style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f8f8f8; border-top: 1px solid rgb(204, 204, 204); box-sizing: border-box;"><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="712" data-size="3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">對於-</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="719" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">TP</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="724" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">FN</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="729" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">TP</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="734" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">TN</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="739" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">FP</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="744" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">TP</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="749" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">TP</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="754" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">FN</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="759" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">TP</span></td><td style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; padding: 6px 13px;"><span data-position="764" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">TN</span></td></tr></tbody></table><p class="part in-view" data-endline="30" data-position="770" data-size="0" data-startline="25" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="765" data-size="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">統計一下</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="770" data-size="7" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">對於+ 當中 </span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>P</mi><mo>:</mo><mn>2</mn><mo>,</mo><mi>F</mi><mi>P</mi><mo>:</mo><mn>2</mn><mo>,</mo><mi>T</mi><mi>N</mi><mo>:</mo><mn>5</mn><mo>,</mo><mi>F</mi><mi>N</mi><mo>:</mo><mn>1</mn></math>" id="MathJax-Element-1-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mi" id="MJXc-Node-3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.12em; padding-top: 0.475em; white-space: pre;">T</span></span><span class="mjx-mi" id="MJXc-Node-4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.109em; padding-top: 0.475em; white-space: pre;">P<span style="word-spacing: normal;">:</span></span></span><span class="mjx-mn MJXc-space3" id="MJXc-Node-6" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.37em; white-space: pre;">2</span></span><span class="mjx-mo" id="MJXc-Node-7" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; margin-top: -0.155em; padding-bottom: 0.528em; white-space: pre;">,</span></span><span class="mjx-mi MJXc-space1" id="MJXc-Node-8" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.167em;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.106em; padding-top: 0.475em; white-space: pre;">F</span></span><span class="mjx-mi" id="MJXc-Node-9" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.109em; padding-top: 0.475em; white-space: pre;">P<span style="word-spacing: normal;">:</span></span></span><span class="mjx-mn MJXc-space3" id="MJXc-Node-11" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.37em; white-space: pre;">2</span></span><span class="mjx-mo" id="MJXc-Node-12" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; margin-top: -0.155em; padding-bottom: 0.528em; white-space: pre;">,</span></span><span class="mjx-mi MJXc-space1" id="MJXc-Node-13" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.167em;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.12em; padding-top: 0.475em; white-space: pre;">T</span></span><span class="mjx-mi" id="MJXc-Node-14" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.085em; padding-top: 0.475em; white-space: pre;">N<span style="word-spacing: normal;">:</span></span></span><span class="mjx-mn MJXc-space3" id="MJXc-Node-16" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.37em; padding-top: 0.37em; white-space: pre;">5</span></span><span class="mjx-mo" id="MJXc-Node-17" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; margin-top: -0.155em; padding-bottom: 0.528em; white-space: pre;">,</span></span><span class="mjx-mi MJXc-space1" id="MJXc-Node-18" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.167em;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.106em; padding-top: 0.475em; white-space: pre;">F</span></span><span class="mjx-mi" id="MJXc-Node-19" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.085em; padding-top: 0.475em; white-space: pre;">N<span style="word-spacing: normal;">:</span></span></span><span class="mjx-mn MJXc-space3" id="MJXc-Node-21" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.37em; white-space: pre;">1</span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>�</mi><mi>�</mi><mo>:</mo><mn>2</mn><mo>,</mo><mi>�</mi><mi>�</mi><mo>:</mo><mn>2</mn><mo>,</mo><mi>�</mi><mi>�</mi><mo>:</mo><mn>5</mn><mo>,</mo><mi>�</mi><mi>�</mi><mo>:</mo><mn>1</mn></math></span></span></span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="806" data-size="7" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">對於- 當中 </span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>P</mi><mo>:</mo><mn>5</mn><mo>,</mo><mi>F</mi><mi>P</mi><mo>:</mo><mn>1</mn><mo>,</mo><mi>T</mi><mi>N</mi><mo>:</mo><mn>2</mn><mo>,</mo><mi>F</mi><mi>N</mi><mo>:</mo><mn>2</mn></math>" id="MathJax-Element-2-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-22" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-23" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mi" id="MJXc-Node-24" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.12em; padding-top: 0.475em; white-space: pre;">T</span></span><span class="mjx-mi" id="MJXc-Node-25" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.109em; padding-top: 0.475em; white-space: pre;">P<span style="word-spacing: normal;">:</span></span></span><span class="mjx-mn MJXc-space3" id="MJXc-Node-27" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.37em; padding-top: 0.37em; white-space: pre;">5</span></span><span class="mjx-mo" id="MJXc-Node-28" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; margin-top: -0.155em; padding-bottom: 0.528em; white-space: pre;">,</span></span><span class="mjx-mi MJXc-space1" id="MJXc-Node-29" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.167em;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.106em; padding-top: 0.475em; white-space: pre;">F</span></span><span class="mjx-mi" id="MJXc-Node-30" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.109em; padding-top: 0.475em; white-space: pre;">P<span style="word-spacing: normal;">:</span></span></span><span class="mjx-mn MJXc-space3" id="MJXc-Node-32" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.37em; white-space: pre;">1</span></span><span class="mjx-mo" id="MJXc-Node-33" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; margin-top: -0.155em; padding-bottom: 0.528em; white-space: pre;">,</span></span><span class="mjx-mi MJXc-space1" id="MJXc-Node-34" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.167em;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.12em; padding-top: 0.475em; white-space: pre;">T</span></span><span class="mjx-mi" id="MJXc-Node-35" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.085em; padding-top: 0.475em; white-space: pre;">N<span style="word-spacing: normal;">:</span></span></span><span class="mjx-mn MJXc-space3" id="MJXc-Node-37" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.37em; white-space: pre;">2</span></span><span class="mjx-mo" id="MJXc-Node-38" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; margin-top: -0.155em; padding-bottom: 0.528em; white-space: pre;">,</span></span><span class="mjx-mi MJXc-space1" id="MJXc-Node-39" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.167em;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.106em; padding-top: 0.475em; white-space: pre;">F</span></span><span class="mjx-mi" id="MJXc-Node-40" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.085em; padding-top: 0.475em; white-space: pre;">N<span style="word-spacing: normal;">:</span></span></span><span class="mjx-mn MJXc-space3" id="MJXc-Node-42" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.37em; white-space: pre;">2</span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>�</mi><mi>�</mi><mo>:</mo><mn>5</mn><mo>,</mo><mi>�</mi><mi>�</mi><mo>:</mo><mn>1</mn><mo>,</mo><mi>�</mi><mi>�</mi><mo>:</mo><mn>2</mn><mo>,</mo><mi>�</mi><mi>�</mi><mo>:</mo><mn>2</mn></math></span></span></span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="838" data-size="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">可根據定義計算 precision, recall 與 F1-score:</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinEvL66B-yLbvafX81h5-XKgnB0xcjSVDTq4AvhNbSXdi2wv0PSVXMY3WA_R6x7kRKpQfNmJhWyOKUaKwtTkTn6PSZlYo5TZUPzPOntm8BFRgZ9G2EAkeNUBKVMOBToYH7rb-S2iLh-VABTMyNm3kCEGM_b9fXw8WH-GVsXr7trYJrfE1DjXD68g/s814/%E6%88%AA%E5%9C%96%202023-03-03%20%E4%B8%8B%E5%8D%8811.52.11.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="358" data-original-width="814" height="176" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinEvL66B-yLbvafX81h5-XKgnB0xcjSVDTq4AvhNbSXdi2wv0PSVXMY3WA_R6x7kRKpQfNmJhWyOKUaKwtTkTn6PSZlYo5TZUPzPOntm8BFRgZ9G2EAkeNUBKVMOBToYH7rb-S2iLh-VABTMyNm3kCEGM_b9fXw8WH-GVsXr7trYJrfE1DjXD68g/w400-h176/%E6%88%AA%E5%9C%96%202023-03-03%20%E4%B8%8B%E5%8D%8811.52.11.png" width="400" /></a></div><p class="part in-view" data-endline="30" data-position="770" data-size="0" data-startline="25" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="mjx-chtml MJXc-display" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: block; float: none; letter-spacing: normal; line-height: 0; margin: 1em 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 0px; text-align: center; white-space: nowrap; word-spacing: normal;"><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mi>p</mi><mi>r</mi><mi>e</mi><mi>c</mi><mi>i</mi><mi>s</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo>=</mo><mfrac><mrow><mi>T</mi><mi>P</mi></mrow><mrow><mi>T</mi><mi>P</mi><mo>+</mo><mi>F</mi><mi>P</mi></mrow></mfrac><mspace width="0.5cm" /><mi>r</mi><mi>e</mi><mi>c</mi><mi>a</mi><mi>l</mi><mi>l</mi><mo>=</mo><mfrac><mrow><mi>T</mi><mi>P</mi></mrow><mrow><mi>T</mi><mi>P</mi><mo>+</mo><mi>T</mi><mi>N</mi></mrow></mfrac></math>" id="MathJax-Element-3-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-43" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-44" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; text-align: left;"><span class="mjx-mi" id="MJXc-Node-45" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.475em; padding-top: 0.213em; white-space: pre;"><br /></span></span></span></span></span></span></span></p><h2 class="part in-view" data-endline="32" data-id="binary-avg-of-precision-recall" data-startline="32" id="binary-avg-of-precision-recall" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/Njsw5xoYR8iMVtnwXNHXuQ?view#binary-avg-of-precision-recall" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="binary-avg-of-precision-recall"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="996" data-size="32" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">binary avg. of precision, recall</span></h2><p class="part in-view" data-endline="36" data-position="1018" data-size="0" data-startline="33" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1029" data-size="71" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">在 sklearn.metrics 的 precision_recall_fscore_support 裡所謂的 binary average 模式</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1104" data-size="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">就是只看</span><span data-position="1108" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">對於+(陽性樣本)的</span><span data-position="1122" data-size="28" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> precision, recall, fscore 值</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1151" data-size="6" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">計算出來得到</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjSFWJ1w7lCNs5Y_lWEJ6Y6wOWd2gZhIGcyC5PpatAVCv-iapjRuG7FGuYOkxocF6UUrrVrYbZAhztsiMBrUDFQZH2D3GikpmxY-_kkWRG5abDbZzYJ0_TxW7GZIL5VyJkvMXuw3BeUYLQTIqsZkuLhvoFxgf86WeFm_zRWkP4BWXecmd5q6BbLA/s1172/%E6%88%AA%E5%9C%96%202023-03-03%20%E4%B8%8B%E5%8D%8811.52.19.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="154" data-original-width="1172" height="84" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjSFWJ1w7lCNs5Y_lWEJ6Y6wOWd2gZhIGcyC5PpatAVCv-iapjRuG7FGuYOkxocF6UUrrVrYbZAhztsiMBrUDFQZH2D3GikpmxY-_kkWRG5abDbZzYJ0_TxW7GZIL5VyJkvMXuw3BeUYLQTIqsZkuLhvoFxgf86WeFm_zRWkP4BWXecmd5q6BbLA/w640-h84/%E6%88%AA%E5%9C%96%202023-03-03%20%E4%B8%8B%E5%8D%8811.52.19.png" width="640" /></a></div><p class="part in-view" data-endline="38" data-position="1239" data-size="0" data-startline="38" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1250" data-size="18" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">F1 值為這兩個值的加權平均,在此就不贅述</span></p><h2 class="part in-view" data-endline="40" data-id="macro-avg-of-precision-recall" data-startline="40" id="macro-avg-of-precision-recall" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/Njsw5xoYR8iMVtnwXNHXuQ?view#macro-avg-of-precision-recall" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="macro-avg-of-precision-recall"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1257" data-size="31" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">macro avg. of precision, recall</span></h2><p class="part in-view" data-endline="46" data-position="1294" data-size="0" data-startline="41" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1289" data-size="44" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">macro 就是把對於正樣本(+) 的結果與對於負樣本(-) 的結果分別算出來後,做平均</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1334" data-size="25" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">正樣本的結果已經在上一段落算完,因此我們還需要計算</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1360" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">對於-(陰性樣本)的</span><span data-position="1374" data-size="31" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">precision, recall, fscore 值計算如下</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7DLyr0zohkuhH0wX_76MVf8cjZ4F4-nq2-Cgf8U6mdluRIBtGRbAyvd_Hij345o_TeSVViXhXX0sqbSIeNVPZI3dGmsaFUnVBRIxTICMpLJY5gbtRc8Me2_tha-bVDk67i1ZsNYIHWdmjUNCyNg3VGV33SlmdhpK4E65LyoGv4n0Rai_MWim3Lw/s1214/%E6%88%AA%E5%9C%96%202023-03-03%20%E4%B8%8B%E5%8D%8811.52.25.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="142" data-original-width="1214" height="74" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7DLyr0zohkuhH0wX_76MVf8cjZ4F4-nq2-Cgf8U6mdluRIBtGRbAyvd_Hij345o_TeSVViXhXX0sqbSIeNVPZI3dGmsaFUnVBRIxTICMpLJY5gbtRc8Me2_tha-bVDk67i1ZsNYIHWdmjUNCyNg3VGV33SlmdhpK4E65LyoGv4n0Rai_MWim3Lw/w640-h74/%E6%88%AA%E5%9C%96%202023-03-03%20%E4%B8%8B%E5%8D%8811.52.25.png" width="640" /></a></div><p class="part in-view" data-endline="46" data-position="1294" data-size="0" data-startline="41" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1500" data-size="57" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">接著就可以計算 macro average 版本的 precision, recall, fscroe 值計算如下</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrjl30YkzR5Q5ufP5ZKAjZNRHPEHUKlE88FhSmGOQ_xDlnGrsugROhwn7zCfsJVzXlFoH4UwFOaF4_Whev9tQxmFytxN8RzwJTDKvTroVAu-5ichqMY7s8yax7zzV6P5iCdH8of1IlT8B5skYwMmknXYiRXfPDe8fxc7ts0x6R42zcXfVOm6qkqw/s1476/%E6%88%AA%E5%9C%96%202023-03-03%20%E4%B8%8B%E5%8D%8811.52.31.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="160" data-original-width="1476" height="70" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrjl30YkzR5Q5ufP5ZKAjZNRHPEHUKlE88FhSmGOQ_xDlnGrsugROhwn7zCfsJVzXlFoH4UwFOaF4_Whev9tQxmFytxN8RzwJTDKvTroVAu-5ichqMY7s8yax7zzV6P5iCdH8of1IlT8B5skYwMmknXYiRXfPDe8fxc7ts0x6R42zcXfVOm6qkqw/w640-h70/%E6%88%AA%E5%9C%96%202023-03-03%20%E4%B8%8B%E5%8D%8811.52.31.png" width="640" /></a></div><h2 class="part in-view" data-endline="47" data-id="micro-avg-of-precision-recall" data-startline="47" id="micro-avg-of-precision-recall" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/Njsw5xoYR8iMVtnwXNHXuQ?view#micro-avg-of-precision-recall" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="micro-avg-of-precision-recall"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1670" data-size="31" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">micro avg. of precision, recall</span></h2><p class="part in-view" data-endline="48" data-position="1707" data-size="0" data-startline="48" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1702" data-size="15" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">micro avg 是把上述的</span></p><ul class="part in-view" data-endline="53" data-startline="49" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="49" data-position="1725" data-size="0" data-startline="49" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span data-position="1720" data-size="7" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">對於 + 當中 </span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>P</mi><mo>:</mo><mn>2</mn><mo>,</mo><mi>F</mi><mi>P</mi><mo>:</mo><mn>2</mn><mo>,</mo><mi>T</mi><mi>N</mi><mo>:</mo><mn>5</mn><mo>,</mo><mi>F</mi><mi>N</mi><mo>:</mo><mn>1</mn></math>" id="MathJax-Element-10-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-378" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-379" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mi" id="MJXc-Node-380" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.12em; padding-top: 0.475em; white-space: pre;">T</span></span><span class="mjx-mi" id="MJXc-Node-381" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.109em; padding-top: 0.475em; white-space: pre;">P<span style="word-spacing: normal;">:</span></span></span><span class="mjx-mn MJXc-space3" id="MJXc-Node-383" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.37em; white-space: pre;">2</span></span><span class="mjx-mo" id="MJXc-Node-384" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; margin-top: -0.155em; padding-bottom: 0.528em; white-space: pre;">,</span></span><span class="mjx-mi MJXc-space1" id="MJXc-Node-385" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.167em;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.106em; padding-top: 0.475em; white-space: pre;">F</span></span><span class="mjx-mi" id="MJXc-Node-386" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.109em; padding-top: 0.475em; white-space: pre;">P<span style="word-spacing: normal;">:</span></span></span><span class="mjx-mn MJXc-space3" id="MJXc-Node-388" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.37em; white-space: pre;">2</span></span><span class="mjx-mo" id="MJXc-Node-389" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; margin-top: -0.155em; padding-bottom: 0.528em; white-space: pre;">,</span></span><span class="mjx-mi MJXc-space1" id="MJXc-Node-390" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.167em;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.12em; padding-top: 0.475em; white-space: pre;">T</span></span><span class="mjx-mi" id="MJXc-Node-391" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.085em; padding-top: 0.475em; white-space: pre;">N<span style="word-spacing: normal;">:</span></span></span><span class="mjx-mn MJXc-space3" id="MJXc-Node-393" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.37em; padding-top: 0.37em; white-space: pre;">5</span></span><span class="mjx-mo" id="MJXc-Node-394" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; margin-top: -0.155em; padding-bottom: 0.528em; white-space: pre;">,</span></span><span class="mjx-mi MJXc-space1" id="MJXc-Node-395" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.167em;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.106em; padding-top: 0.475em; white-space: pre;">F</span></span><span class="mjx-mi" id="MJXc-Node-396" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.085em; padding-top: 0.475em; white-space: pre;">N<span style="word-spacing: normal;">:</span></span></span><span class="mjx-mn MJXc-space3" id="MJXc-Node-398" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.37em; white-space: pre;">1</span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>�</mi><mi>�</mi><mo>:</mo><mn>2</mn><mo>,</mo><mi>�</mi><mi>�</mi><mo>:</mo><mn>2</mn><mo>,</mo><mi>�</mi><mi>�</mi><mo>:</mo><mn>5</mn><mo>,</mo><mi>�</mi><mi>�</mi><mo>:</mo><mn>1</mn></math></span></span></span></li><li data-endline="53" data-position="1763" data-size="0" data-startline="50" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="1758" data-size="7" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">對於 - 當中 </span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><mi>T</mi><mi>P</mi><mo>:</mo><mn>5</mn><mo>,</mo><mi>F</mi><mi>P</mi><mo>:</mo><mn>1</mn><mo>,</mo><mi>T</mi><mi>N</mi><mo>:</mo><mn>2</mn><mo>,</mo><mi>F</mi><mi>N</mi><mo>:</mo><mn>2</mn></math>" id="MathJax-Element-11-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-399" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-400" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mi" id="MJXc-Node-401" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.12em; padding-top: 0.475em; white-space: pre;">T</span></span><span class="mjx-mi" id="MJXc-Node-402" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.109em; padding-top: 0.475em; white-space: pre;">P<span style="word-spacing: normal;">:</span></span></span><span class="mjx-mn MJXc-space3" id="MJXc-Node-404" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.37em; padding-top: 0.37em; white-space: pre;">5</span></span><span class="mjx-mo" id="MJXc-Node-405" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; margin-top: -0.155em; padding-bottom: 0.528em; white-space: pre;">,</span></span><span class="mjx-mi MJXc-space1" id="MJXc-Node-406" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.167em;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.106em; padding-top: 0.475em; white-space: pre;">F</span></span><span class="mjx-mi" id="MJXc-Node-407" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.109em; padding-top: 0.475em; white-space: pre;">P<span style="word-spacing: normal;">:</span></span></span><span class="mjx-mn MJXc-space3" id="MJXc-Node-409" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.37em; white-space: pre;">1</span></span><span class="mjx-mo" id="MJXc-Node-410" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; margin-top: -0.155em; padding-bottom: 0.528em; white-space: pre;">,</span></span><span class="mjx-mi MJXc-space1" id="MJXc-Node-411" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.167em;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.12em; padding-top: 0.475em; white-space: pre;">T</span></span><span class="mjx-mi" id="MJXc-Node-412" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.085em; padding-top: 0.475em; white-space: pre;">N<span style="word-spacing: normal;">:</span></span></span><span class="mjx-mn MJXc-space3" id="MJXc-Node-414" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.37em; white-space: pre;">2</span></span><span class="mjx-mo" id="MJXc-Node-415" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; margin-top: -0.155em; padding-bottom: 0.528em; white-space: pre;">,</span></span><span class="mjx-mi MJXc-space1" id="MJXc-Node-416" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.167em;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.106em; padding-top: 0.475em; white-space: pre;">F</span></span><span class="mjx-mi" id="MJXc-Node-417" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.085em; padding-top: 0.475em; white-space: pre;">N<span style="word-spacing: normal;">:</span></span></span><span class="mjx-mn MJXc-space3" id="MJXc-Node-419" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.37em; white-space: pre;">2</span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>�</mi><mi>�</mi><mo>:</mo><mn>5</mn><mo>,</mo><mi>�</mi><mi>�</mi><mo>:</mo><mn>1</mn><mo>,</mo><mi>�</mi><mi>�</mi><mo>:</mo><mn>2</mn><mo>,</mo><mi>�</mi><mi>�</mi><mo>:</mo><mn>2</mn></math></span></span></span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi><mi>u</mi><mi>m</mi><mi mathvariant="normal">&#x005F;</mi><mi>T</mi><mi>P</mi><mo>:</mo><mn>2</mn><mo>+</mo><mn>5</mn><mo>=</mo><mn>7</mn></math>" id="MathJax-Element-12-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-420" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-421" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mi" id="MJXc-Node-422" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-top: 0.213em; white-space: pre;"><br /></span></span></span></span></span></span></li></ul><p class="part in-view" data-endline="55" data-position="1908" data-size="0" data-startline="54" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1903" data-size="58" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span style="letter-spacing: 0.35px;">把以上兩個分類觀點觀察到的 TP, FP, TN, FN 都做加總之後再做計算:</span></span></p><p class="part in-view" data-endline="55" data-position="1908" data-size="0" data-startline="54" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN3tXqhe_P68WXc7GoUgv4dqKkbPaOn-jaofEgScHjhuxMHxul6ieQrfk2dKFiYpzox3uPV0OoNfcS6X52L3ggLi5o0TS_PPxBOpb3hLhbyEdC-sB-3_TZJdfQMkewzEMqBmlOQyBjEBpYOg5Z5H6Qyz9c3oaase0kffTKxljYMwI5Jxi8i7H0CA/s1458/%E6%88%AA%E5%9C%96%202023-03-03%20%E4%B8%8B%E5%8D%8811.52.59.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="84" data-original-width="1458" height="36" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN3tXqhe_P68WXc7GoUgv4dqKkbPaOn-jaofEgScHjhuxMHxul6ieQrfk2dKFiYpzox3uPV0OoNfcS6X52L3ggLi5o0TS_PPxBOpb3hLhbyEdC-sB-3_TZJdfQMkewzEMqBmlOQyBjEBpYOg5Z5H6Qyz9c3oaase0kffTKxljYMwI5Jxi8i7H0CA/w640-h36/%E6%88%AA%E5%9C%96%202023-03-03%20%E4%B8%8B%E5%8D%8811.52.59.png" width="640" /></a></div><p></p><p class="part in-view" data-endline="55" data-position="1908" data-size="0" data-startline="54" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1903" data-size="58" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">再根據定義計算出 micro average 版本的 precision, recall, fscore 值計算如下</span></p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT3mhxMaddAFSywa4izM3a1VsWMUxpj6nhYH8r2RNMKnKkCjg7ZonNOPbZYQnDLIVbNq49fdD6ea_7Eb7DLv73qgYCyAsPehtkIVP3HjiuJvOvM_K-XiZaj-BxDBf7wE-T3dkW0eyw5prLD5Ti4lVCkU37huYDyIZloTImT3ugzDqSE-yIUj10uA/s1090/%E6%88%AA%E5%9C%96%202023-03-04%20%E4%B8%8A%E5%8D%8812.13.49.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="146" data-original-width="1090" height="86" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT3mhxMaddAFSywa4izM3a1VsWMUxpj6nhYH8r2RNMKnKkCjg7ZonNOPbZYQnDLIVbNq49fdD6ea_7Eb7DLv73qgYCyAsPehtkIVP3HjiuJvOvM_K-XiZaj-BxDBf7wE-T3dkW0eyw5prLD5Ti4lVCkU37huYDyIZloTImT3ugzDqSE-yIUj10uA/w640-h86/%E6%88%AA%E5%9C%96%202023-03-04%20%E4%B8%8A%E5%8D%8812.13.49.png" width="640" /></a></div></div><p class="part in-view" data-endline="57" data-position="2057" data-size="0" data-startline="57" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2052" data-size="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><br /></span></p><p class="part in-view" data-endline="57" data-position="2057" data-size="0" data-startline="57" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2052" data-size="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><br /></span></p><p class="part in-view" data-endline="57" data-position="2057" data-size="0" data-startline="57" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2052" data-size="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">報告完畢</span></p>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-30201239347693910482023-02-23T02:07:00.005-08:002023-02-23T02:22:33.372-08:00[筆記] 使用 pygsheets 記錄實驗數據到 google sheet<h2 style="text-align: left;"> <span face="-apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"" style="background-color: white; color: #333333; letter-spacing: 0.35px;">設定 Google Drive API</span></h2><ol class="part" data-endline="27" data-position="58" data-size="0" data-startline="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="6" data-position="61" data-size="0" data-startline="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><p data-position="58" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; margin: 16px 0px;"><span data-position="61" data-size="29" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">去 google cloud console 上建一個專案</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><a href="https://console.cloud.google.com/" rel="noopener" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration-line: none;" target="_blank">https://console.cloud.google.com/</a></p></li><li data-endline="9" data-position="129" data-size="0" data-startline="7" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><p data-position="126" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; margin: 16px 0px;"><span data-position="129" data-size="26" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">接著在專案裡面搜尋 Google Drive API</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="156" data-size="42" height="250" loading="lazy" src="https://i.imgur.com/3iSmb2E.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p></li><li data-endline="12" data-position="203" data-size="0" data-startline="10" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><p data-position="200" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; margin: 16px 0px;"><span data-position="203" data-size="5" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">接著啟用它</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="209" data-size="42" height="200" loading="lazy" src="https://i.imgur.com/Rcmi9JM.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><span><a name='more'></a></span></li><li data-endline="15" data-position="256" data-size="0" data-startline="13" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><p data-position="253" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; margin: 16px 0px;"><span data-position="256" data-size="40" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">去憑證 (Credentials) 點選"+建立憑證" 然後,選擇 “服務帳戶”</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="297" data-size="42" loading="lazy" src="https://i.imgur.com/pF6KZqw.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" width="500" /></p></li><li data-endline="20" data-position="344" data-size="0" data-startline="16" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><p data-position="341" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; margin: 16px 0px;"><span data-position="344" data-size="37" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">設定完服務帳戶 ID 後可以在下方看到一組服務帳戶ID為首的email帳號</span></p><ul style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; margin-bottom: 0px; margin-top: 0px; padding-left: 2em;"><li data-endline="20" data-position="388" data-size="0" data-startline="17" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span data-position="388" data-size="31" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">去 google sheet 表單中,將該帳號加入共用名單當中</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="420" data-size="42" loading="lazy" src="https://i.imgur.com/uxTvW9l.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" width="230" /></li></ul></li><li data-endline="23" data-position="472" data-size="0" data-startline="21" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><p data-position="469" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; margin: 16px 0px;"><span data-position="472" data-size="49" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">接著去服務帳戶的頁面裡面點選"金鑰>新增金鑰>選 json 格式"就會下載一個金鑰 json 檔案</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="522" data-size="42" loading="lazy" src="https://i.imgur.com/4ZpDY3M.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" width="500" /></p></li><li data-endline="27" data-position="569" data-size="0" data-startline="24" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><p data-position="566" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; margin: 16px 0px;"><span data-position="569" data-size="23" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">記得還要啟用 google sheet api</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="593" data-size="42" loading="lazy" src="https://i.imgur.com/JA16PfB.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" width="500" /></p></li></ol><h2 class="part" data-endline="28" data-id="安裝與使套件-pysheets" data-startline="28" id="安裝與使套件-pysheets" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/-7xfhwpXSQ64gF5B7hH9Uw?view#%E5%AE%89%E8%A3%9D%E8%88%87%E4%BD%BF%E5%A5%97%E4%BB%B6-pysheets" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="安裝與使套件-pysheets"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="641" data-size="15" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">安裝與使套件 pysheets</span></h2><p class="part" data-endline="31" data-position="658" data-size="0" data-startline="30" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="658" data-size="11" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">安裝 pysheets</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><a href="https://github.com/nithinmurali/pygsheets" rel="noopener" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration-line: none;" target="_blank">https://github.com/nithinmurali/pygsheets</a></p><pre class="part" data-endline="35" data-position="713" data-startline="33" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">pip install pysheets
</code></pre><p class="part" data-endline="37" data-position="750" data-size="0" data-startline="37" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="743" data-size="30" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">使用 pysheets 把資料寫入 google sheet</span></p><pre class="part" data-endline="59" data-position="781" data-startline="38" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f7; border-radius: 3px; border: inherit !important; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code class="python hljs" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit !important; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;"><span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #a71d5d;">import</span> pygsheets
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #a71d5d;">import</span> pandas <span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #a71d5d;">as</span> pd
<span class="hljs-comment" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #969896;">#authorization</span>
gc = pygsheets.authorize(service_file=<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">'{這裡放金鑰json的檔案路徑}'</span>)
<span class="hljs-comment" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #969896;"># Create empty dataframe</span>
df = pd.DataFrame()
<span class="hljs-comment" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #969896;"># Create a column</span>
df[<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">'name'</span>] = [<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">'tao1'</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">'tao2'</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">'tao3'</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"tao4"</span>]
df[<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">'age'</span>] = [<span class="hljs-number" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #0086b3;">11</span>, <span class="hljs-number" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #0086b3;">12</span>, <span class="hljs-number" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #0086b3;">13</span>, <span class="hljs-number" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #0086b3;">14</span>]
<span class="hljs-comment" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #969896;">#open the google spreadsheet </span>
sh = gc.<span class="hljs-built_in" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #005cc5;">open</span>(<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">'{這裡寫你的google sheet的名稱}'</span>)
<span class="hljs-comment" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #969896;">#select the first worksheet </span>
wks = sh[<span class="hljs-number" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #0086b3;">0</span>]
<span class="hljs-comment" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #969896;">#update the first worksheet with df, starting at cell A1 i.e.(0,0) </span>
wks.set_dataframe(df,(<span class="hljs-number" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #0086b3;">0</span>,<span class="hljs-number" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #0086b3;">0</span>))
</code></pre><h2 class="part" data-endline="61" data-id="表單的基本操作" data-startline="61" id="表單的基本操作" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/-7xfhwpXSQ64gF5B7hH9Uw?view#%E8%A1%A8%E5%96%AE%E7%9A%84%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="表單的基本操作"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1260" data-size="7" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">表單的基本操作</span></h2><p class="part" data-endline="64" data-position="1269" data-size="0" data-startline="63" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1269" data-size="14" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">細節可以查 document</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><a href="https://pygsheets.readthedocs.io/en/stable/worksheet.html" rel="noopener" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration-line: none;" target="_blank">https://pygsheets.readthedocs.io/en/stable/worksheet.html</a></p><p class="part" data-endline="67" data-position="1344" data-size="0" data-startline="67" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1344" data-size="9" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">我紀錄一下我常用的</span></p><h3 class="part" data-endline="69" data-id="update-sheet-標單中-A1-那一格的值成-XDD" data-startline="69" id="update-sheet-標單中-A1-那一格的值成-XDD" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/-7xfhwpXSQ64gF5B7hH9Uw?view#update-sheet-%E6%A8%99%E5%96%AE%E4%B8%AD-A1-%E9%82%A3%E4%B8%80%E6%A0%BC%E7%9A%84%E5%80%BC%E6%88%90-XDD" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="update-sheet-標單中-A1-那一格的值成-XDD"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1359" data-size="30" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">update sheet 標單中 A1 那一格的值成 XDD</span></h3><pre class="part" data-endline="72" data-position="1390" data-startline="70" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f7; border-radius: 3px; border: inherit !important; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code class="python hljs" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit !important; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">wks.update_value(<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">'A1'</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">'XDD'</span>)
</code></pre><h3 class="part" data-endline="74" data-id="update-整個-row" data-startline="74" id="update-整個-row" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/-7xfhwpXSQ64gF5B7hH9Uw?view#update-%E6%95%B4%E5%80%8B-row" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="update-整個-row"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1440" data-size="13" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">update 整個 row</span></h3><pre class="part" data-endline="77" data-position="1454" data-startline="75" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f7; border-radius: 3px; border: inherit !important; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code class="python hljs" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit !important; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">wks.update_row(<span class="hljs-number" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #0086b3;">4</span>, [<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">'tao3'</span>, <span class="hljs-number" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #0086b3;">18</span>])
</code></pre><h3 class="part" data-endline="79" data-id="取得表單範圍內的值,例如從-‘A1’--‘B4’" data-startline="79" id="取得表單範圍內的值,例如從-‘A1’--‘B4’" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisaIliin8zkpgFStRsliu0g84sX3BII50UmegSj47HrNnSCojpsv5bM2wK7W0JI50KLZorXrxFduwGoBHd0U4YkYPPAlazSUEN45MsDYpTkPZqiZJaQtjIZEkHWOvedBKqTpxvDGxWa4H4Dted_xC6o7ZaxEN_Ft9zu8Y1O38cEZbTrpR9ga_uBw/s456/%E6%88%AA%E5%9C%96%202023-02-23%20%E4%B8%8B%E5%8D%886.20.26.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="456" height="168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisaIliin8zkpgFStRsliu0g84sX3BII50UmegSj47HrNnSCojpsv5bM2wK7W0JI50KLZorXrxFduwGoBHd0U4YkYPPAlazSUEN45MsDYpTkPZqiZJaQtjIZEkHWOvedBKqTpxvDGxWa4H4Dted_xC6o7ZaxEN_Ft9zu8Y1O38cEZbTrpR9ga_uBw/s320/%E6%88%AA%E5%9C%96%202023-02-23%20%E4%B8%8B%E5%8D%886.20.26.png" width="320" /></a></div></h3><h3 class="part" data-endline="79" data-id="取得表單範圍內的值,例如從-‘A1’--‘B4’" data-startline="79" id="取得表單範圍內的值,例如從-‘A1’--‘B4’" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/-7xfhwpXSQ64gF5B7hH9Uw?view#%E5%8F%96%E5%BE%97%E8%A1%A8%E5%96%AE%E7%AF%84%E5%9C%8D%E5%85%A7%E7%9A%84%E5%80%BC%EF%BC%8C%E4%BE%8B%E5%A6%82%E5%BE%9E-%E2%80%98A1%E2%80%99--%E2%80%98B4%E2%80%99" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="取得表單範圍內的值,例如從-‘A1’--‘B4’"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1505" data-size="25" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">取得表單範圍內的值,例如從 ‘A1’ ~ ‘B4’</span></h3><pre class="part" data-endline="86" data-position="1531" data-startline="80" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f7; border-radius: 3px; border: inherit !important; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code class="python hljs" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit !important; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">start = <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">'A1'</span>
end = <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">'B4'</span>
res = wks.get_values(start, end)
<span class="hljs-built_in" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #005cc5;">print</span>(<span class="hljs-built_in" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #005cc5;">type</span>(res))
res
</code></pre><p class="part" data-endline="87" data-position="1623" data-size="0" data-startline="87" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1623" data-size="15" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">可以看到 output 長這樣</span></p><pre class="part" data-endline="91" data-position="1639" data-startline="88" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f7; border-radius: 3px; border: inherit !important; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit !important; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;"><class 'list'>
[['XDD', 'age'], ['tao1', '11'], ['tao2', '12'], ['tao3', '18']]
</code></pre><h2 class="part" data-endline="93" data-id="在表單裡面新增一個新的-TAB-worksheet" data-startline="93" id="在表單裡面新增一個新的-TAB-worksheet" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/-7xfhwpXSQ64gF5B7hH9Uw?view#%E5%9C%A8%E8%A1%A8%E5%96%AE%E8%A3%A1%E9%9D%A2%E6%96%B0%E5%A2%9E%E4%B8%80%E5%80%8B%E6%96%B0%E7%9A%84-TAB-worksheet" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="在表單裡面新增一個新的-TAB-worksheet"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1731" data-size="27" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">在表單裡面新增一個新的 TAB (worksheet)</span></h2><p class="part" data-endline="95" data-position="1760" data-size="0" data-startline="95" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1760" data-size="24" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">再複習一次基本的設定與連線到表單 (sheet)</span></p><pre class="part" data-endline="105" data-position="1785" data-startline="96" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f7; border-radius: 3px; border: inherit !important; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code class="python hljs" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit !important; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;"><span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #a71d5d;">import</span> pygsheets
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #a71d5d;">import</span> pandas <span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #a71d5d;">as</span> pd
<span class="hljs-comment" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #969896;">#authorization</span>
gc = pygsheets.authorize(service_file=<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">'{這裡放金鑰json的檔案路徑}'</span>)
<span class="hljs-comment" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #969896;">#open the google spreadsheet </span>
sh = gc.<span class="hljs-built_in" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #005cc5;">open</span>(<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">'{這裡寫你的google sheet的名稱}'</span>)
</code></pre><h3 class="part" data-endline="107" data-id="建立新的-TAB" data-startline="107" id="建立新的-TAB" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/-7xfhwpXSQ64gF5B7hH9Uw?view#%E5%BB%BA%E7%AB%8B%E6%96%B0%E7%9A%84-TAB" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="建立新的-TAB"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1985" data-size="8" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">建立新的 TAB</span></h3><p class="part" data-endline="108" data-position="1995" data-size="0" data-startline="108" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1995" data-size="34" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">例如建立一個 200 row 的表單,Tab 名稱為 nba_2023</span></p><pre class="part" data-endline="113" data-position="2031" data-startline="109" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f7; border-radius: 3px; border: inherit !important; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code class="python hljs" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit !important; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">N = <span class="hljs-number" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #0086b3;">200</span>
sheet_name = <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"nba_2023"</span>
sh.add_worksheet(sheet_name, rows=N)
</code></pre><h3 class="part" data-endline="115" data-id="把新的資料-dataframe-存進去" data-startline="115" id="把新的資料-dataframe-存進去" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/-7xfhwpXSQ64gF5B7hH9Uw?view#%E6%8A%8A%E6%96%B0%E7%9A%84%E8%B3%87%E6%96%99-dataframe-%E5%AD%98%E9%80%B2%E5%8E%BB" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="把新的資料-dataframe-存進去"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="2119" data-size="21" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">把新的資料 (dataframe) 存進去</span></h3><p class="part" data-endline="116" data-position="2141" data-size="0" data-startline="116" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2141" data-size="49" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">使用 property=“title” 以及 value=“nba” 去找到剛剛建立的 sheet</span></p><pre class="part" data-endline="128" data-position="2192" data-startline="117" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f7; border-radius: 3px; border: inherit !important; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code class="python hljs" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit !important; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">datas = [[<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"Irving"</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"Dallas Maverick"</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"PG"</span>],
[<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"Westbrook"</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"La Clippers"</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"PG"</span>],
[<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"Durant"</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"Phoenix Suns"</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"SF"</span>],
[<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"Curry"</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"Golden State Warriors"</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"PG"</span>],
[<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"Harden"</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"Philadelphia 76ers"</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"SG"</span>],
[<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"Jokić"</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"Denver Nuggets"</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"C"</span>]]
df_new = pd.DataFrame(columns=[<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">'name'</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">'team'</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">'position'</span>], data=datas)
ws = sh.worksheet(<span class="hljs-built_in" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #005cc5;">property</span>=<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"title"</span>, value=<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"nba_2023"</span>)
ws.set_dataframe(df_new, (<span class="hljs-number" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #0086b3;">0</span>,<span class="hljs-number" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #0086b3;">0</span>))
</code></pre><p class="part" data-endline="130" data-position="2642" data-size="0" data-startline="129" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2599" data-size="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">目前結果</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" class="" data-position="2604" data-size="42" height="300" loading="lazy" src="https://i.imgur.com/WMEgmh9.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h3 class="part" data-endline="134" data-id="追加新的資料-rows-append-到表單的後面" data-startline="134" id="追加新的資料-rows-append-到表單的後面" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/-7xfhwpXSQ64gF5B7hH9Uw?view#%E8%BF%BD%E5%8A%A0%E6%96%B0%E7%9A%84%E8%B3%87%E6%96%99-rows-append-%E5%88%B0%E8%A1%A8%E5%96%AE%E7%9A%84%E5%BE%8C%E9%9D%A2" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="追加新的資料-rows-append-到表單的後面"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="2675" data-size="25" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">追加新的資料 rows append 到表單的後面</span></h3><pre class="part" data-endline="142" data-position="2724" data-startline="136" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f7; border-radius: 3px; border: inherit !important; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code class="python hljs" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit !important; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">values = [[<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"Dončić"</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"Dallas Maverick"</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"SG"</span>],
[<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"Davis"</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"LA Lakers"</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"PF"</span>],
[<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"Tatum"</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"Boston Celtics"</span>, <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"SF"</span>]]
ws = sh.worksheet(<span class="hljs-built_in" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #005cc5;">property</span>=<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"title"</span>, value=<span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #df5000;">"nba_2023"</span>)
ws.append_table(values=values)
</code></pre><p class="part in-view" data-endline="144" data-position="2955" data-size="0" data-startline="143" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2933" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">結果</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" class="" data-position="2936" data-size="42" height="300" loading="lazy" src="https://i.imgur.com/iB95y60.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part in-view" data-endline="147" data-position="3002" data-size="0" data-startline="146" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2980" data-size="11" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">再執行一次就會看到這樣</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" class="" data-position="2992" data-size="42" height="320" loading="lazy" src="https://i.imgur.com/SlNartQ.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part in-view" data-endline="151" data-position="3058" data-size="0" data-startline="149" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="3015" data-size="26" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">補充說明: 剛剛我們建立表單時設定 rows=200</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="3042" data-size="33" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">當我執行完 append_table 兩次後,共新增了 6 筆資料,</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="3077" data-size="30" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">此時表單的大小也會跟著長大,變成 200 + 6 = 206</span></p><p class="part in-view" data-endline="153" data-position="3152" data-size="0" data-startline="153" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><img alt="" class="" data-position="3109" data-size="42" height="230" loading="lazy" src="https://i.imgur.com/LrjihJF.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part in-view" data-endline="155" data-position="3196" data-size="0" data-startline="155" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="3153" data-size="5" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">報告完畢!</span></p><p class="part in-view" data-endline="155" data-position="3196" data-size="0" data-startline="155" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="3153" data-size="5" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><br /></span></p>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-40883851710989144332023-02-21T00:09:00.003-08:002023-02-21T00:09:45.328-08:00[Debug] 使用 Python argparse 遇到 error: unrecognized arguments<h2 style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; padding-bottom: 0.3em; text-align: left;"><span style="letter-spacing: 0.35px;">情境說明</span></h2><p class="part" data-endline="7" data-position="74" data-size="0" data-startline="7" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="74" data-size="3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">我在 </span><a href="http://main.py/" rel="noopener" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration-line: none;" target="_blank">main.py</a><span data-position="84" data-size="25" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 裡面定義了許多 argument 參數例如長這樣</span></p><p class="part" data-endline="9" data-position="111" data-size="0" data-startline="9" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><img alt="" class="" data-position="111" data-size="36" loading="lazy" src="https://i.imgur.com/HVxBJJ3.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part" data-endline="11" data-position="149" data-size="0" data-startline="11" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="149" data-size="5" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">然後我的 </span><a href="http://cmd.sh/" rel="noopener" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration-line: none;" target="_blank">cmd.sh</a><span data-position="160" data-size="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 長這樣</span></p><pre class="part in-view" data-endline="19" data-position="165" data-startline="12" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f7; border-radius: 3px; border: inherit !important; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code class="bash hljs" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit !important; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">python main.py --model GaussianCopula \
--input_path data/train_raw.csv \
--output_dir data/ \
--num_rows 1000 \
--save_output \
--gen_dim 23 45 24 99
</code></pre><p class="part in-view" data-endline="21" data-position="409" data-size="0" data-startline="21" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="409" data-size="7" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span></span></span></p><a name='more'></a>結果當我執行時<p></p><pre class="part in-view" data-endline="24" data-position="417" data-startline="22" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f7; border-radius: 3px; border: inherit !important; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code class="bash hljs" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit !important; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">bash cmd.sh
</code></pre><p class="part in-view" data-endline="26" data-position="443" data-size="0" data-startline="25" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="443" data-size="23" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">出現 command not found 錯誤</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="467" data-size="10" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">總共有兩個參數找不到</span></p><pre class="part in-view" data-endline="31" data-position="478" data-startline="27" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f7; border-radius: 3px; border: inherit !important; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code class="bash hljs" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit !important; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">error: unrecognized arguments:
zsh: <span class="hljs-built_in" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #005cc5;">command</span> not found: --output_dir
zsh: <span class="hljs-built_in" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #005cc5;">command</span> not found: --save_output
</code></pre><p class="part in-view" data-endline="33" data-position="597" data-size="0" data-startline="33" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="597" data-size="18" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">檢查了半天,確認我都有定義這兩個參數</span></p><h2 class="part in-view" data-endline="35" data-id="解法" data-startline="35" id="解法" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/o3XdfB-PRzOKf1V_YGsB6Q?view#%E8%A7%A3%E6%B3%95" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="解法"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="620" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">解法</span></h2><p class="part in-view" data-endline="38" data-position="624" data-size="0" data-startline="37" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="624" data-size="18" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">結果我錯誤的原因在這裡,請見下方的圖</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" class="" data-position="643" data-size="36" loading="lazy" src="https://i.imgur.com/UApcEcj.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part in-view" data-endline="41" data-position="681" data-size="0" data-startline="40" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="681" data-size="7" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">可以發現我在 </span><a href="http://cmd.sh/" rel="noopener" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration-line: none;" target="_blank">cmd.sh</a><span data-position="694" data-size="47" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 裡面寫的反斜線換行符號,在第二行跟第四行後面不小心多打了一個空白!!才造成我後面的參數吃不到</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="742" data-size="10" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">把空白刪掉即可解決!</span></p><p class="part in-view" data-endline="43" data-position="754" data-size="0" data-startline="43" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="754" data-size="6" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">在此筆記一下</span></p><div class="alert alert-success part in-view" data-endline="46" data-position="761" data-size="79" data-startline="44" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #dff0d8; border-radius: 4px; border: 1px solid rgb(214, 233, 198); box-sizing: border-box; color: #3c763d; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 20px; padding: 15px;"><p data-position="772" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; margin: 0px;"><a href="http://cmd.sh/" rel="noopener" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration-line: none;" target="_blank">cmd.sh</a><span data-position="779" data-size="30" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 裡面的換行符號 " \ " 後面不可以有空白(space)</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="810" data-size="26" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">要直接換行(newline),避免看不到的錯誤產生!</span></p></div><p><span style="background-color: white; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px;">報告完畢</span> </p>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-9011142244883999262022-12-16T23:37:00.009-08:002022-12-17T01:11:31.348-08:00[筆記] 使用 ABC Notation 採譜 Machinedrum - Infinite Us <h1 class="part" data-endline="1" data-id="採譜-Machinedrum---Infinite-Us" data-startline="1" id="採譜-Machinedrum---Infinite-Us" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 16px; padding-bottom: 0.3em;"><span data-position="2" data-size="30" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">[採譜] Machinedrum - Infinite Us</span></h1><h6 class="part" data-endline="2" data-id="tags-Music" data-startline="2" id="tags-Music" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #777777; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 0.85em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/Ps9kaNFvSC2RisHbv5qHkQ?view#tags-Music" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="tags-Music"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a></h6><h2 class="part" data-endline="5" data-id="前言" data-startline="5" id="前言" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><span data-position="59" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">前言</span></h2><p class="part" data-endline="8" data-position="62" data-size="0" data-startline="6" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="62" data-size="18" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">日前有一位做電音的DJ朋友傳給我這個</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><a href="https://www.youtube.com/watch?v=u5BPgKB58Xs&ab_channel=irieficus" rel="noopener" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration-line: none;" target="_blank">https://www.youtube.com/watch?v=u5BPgKB58Xs&ab_channel=irieficus</a><br /></p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="310" src="https://www.youtube.com/embed/u5BPgKB58Xs" width="365" youtube-src-id="u5BPgKB58Xs"></iframe></div><br /><p class="part" data-endline="10" data-position="172" data-size="0" data-startline="10" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="172" data-size="10" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">問我這個和聲原理是啥</span></p><p class="part" data-endline="12" data-position="184" data-size="0" data-startline="12" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="184" data-size="12" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">瞬間燃起了我的研究興趣!</span></p><p class="part" data-endline="15" data-position="198" data-size="0" data-startline="14" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="198" data-size="31" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">看似很複雜的和聲設計,只要使用 “樂理” 這個照妖鏡好好看一下</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="230" data-size="10" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">就可以發現它的規律!</span></p><p class="part" data-endline="17" data-position="242" data-size="0" data-startline="17" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="242" data-size="33" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">以下把我做的反向工程和聲 source code 攤開給大家瞧瞧 ~~</span></p><h2 class="part" data-endline="19" data-id="和弦分析" data-startline="19" id="和弦分析" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/Ps9kaNFvSC2RisHbv5qHkQ?view#%E5%92%8C%E5%BC%A6%E5%88%86%E6%9E%90" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="和弦分析"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="282" data-size="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">和弦分析<span><a name='more'></a></span><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8thuUX-vRId_dXypWRyt3e6fqRPA1A7x0IVUbYLqa-27_MuOJ1qThVohtEyyFkV2UoXv1yAyAHVmOs9fwJjJumXM4A129PVylsG7oCQAETUa8okTCL48rG0I1HIPz3nL3U1xMiQL4EFiQlU0wWoqYCzM0BcFAqrmlZzlFQvElYwS-tt_nMcXa0A/s1374/Infinite%20Us%20Chord%20Analysis.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1374" data-original-width="1132" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8thuUX-vRId_dXypWRyt3e6fqRPA1A7x0IVUbYLqa-27_MuOJ1qThVohtEyyFkV2UoXv1yAyAHVmOs9fwJjJumXM4A129PVylsG7oCQAETUa8okTCL48rG0I1HIPz3nL3U1xMiQL4EFiQlU0wWoqYCzM0BcFAqrmlZzlFQvElYwS-tt_nMcXa0A/w528-h640/Infinite%20Us%20Chord%20Analysis.png" width="528" /></a></div><span style="font-weight: 400;">abc notation code:</span></span></h2>
<pre class="part" data-endline="35" data-startline="18" style="background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; overflow-wrap: normal; overflow: auto; padding: 16px; position: relative; word-break: break-all;"><code style="background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">```abc
T: Machinedrum - Infinite Us
T: (chord analysis)
A: transcription by yuntao
L: 1/1
K: C
T: 第一列
"Gm11"[G,1_B,1DFAc] | "Am11"[A,1CEGBd | " Abmaj9(#11)"[_A,1C_EG_Bd] | "Cm11"[C_EG_Bdf] | "Dm11"[DFAceg] | "Dbmaj9(#11)"[_DF_Ac_eg]|
T: 第二列
"Fm11"[F,1_A,1C_EG_B] | "Gm11"[G,1_B,1DFAc] | " Gbmaj9(#11)"[_G,1_B,1_DF_Ac] | "Bbm11"[_B,1_DF_Ac_e] | "Cm11"[C_EG_Bdf] | "Cbmaj9(#11)"[_C_E_G_B_df]|
T: 第三列
"Ebm11"[_E,1_G,1_B,1_DF_A] | "Fm11"[F,1_A,1C_EG_B] | " Fbmaj9(#11)"[_F,1_A,1_C_E_G_B] | "Abm11"[_A,1_C_E_G_B_d] | "Bbm11"[_B,1_DF_Ac_e]| "Amaj9(#11)"[A,1^CE^GB^d]|
T: 第四列
"C#m11"[^CE^GB^d^f] | "D#m11"[^D^F^A^c^e^g] | " Dmaj9(#11)"[D^FA^ce^g] | "F#m11"[^F,1A,1^CE^GB] | "G#m11"[^G,1B,1^D^F^A^c]| "Gmaj9(#11)"[G,1B,1D^FA^c]|
T: 第五列
"Bm11"[B,1D^FA^ce] | "C#m11"[^CE^GB^d^f] | " Cmaj9(#11)"[CEGBd^f] | "Em11"[E,1G,1B,1D^FA] | "F#m11"[^F,1A,1^CE^GB]| "Fmaj9(#11)"[F,1A,1CEGB]|
T: 第六列
"Am11"[A,1CEGBd] | "Bm11"[B,1D^FA^ce] | " Bbmaj9(#11)"[_B,1DFAce] | "Dm11"[DFAceg] | "Em11"[EGBd^fa] | "Ebmaj9(#11)"[_EG_Bdfa]|
T: 循環回第一列
"Gm11"[G,1_B,1DFAc] | "Am11"[A,1CEGBd | " Abmaj9(#11)"[_A,1C_EG_Bd] | "Cm11"[C_EG_Bdf] | "Dm11"[DFAceg] | "Dbmaj9(#11)"[_DF_Ac_eg]|
```</code></pre><h2 class="part" data-endline="21" data-id="解說" data-startline="21" id="解說" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><span data-position="292" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><br />解說</span></h2><p class="part" data-endline="24" data-position="295" data-size="0" data-startline="22" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="295" data-size="14" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">我把它的和聲總共分成六列來看</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="311" data-size="33" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">在每一列當中,每三個和弦一組,可以看到每一組裡面的和弦性質分別為:</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="345" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">minor (m), minor (m), major (maj)</span></p><p class="part" data-endline="26" data-position="384" data-size="0" data-startline="26" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="384" data-size="6" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">至於加入的 </span><span data-position="390" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">“引申音(9,11)”</span><span data-position="405" data-size="36" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 的部分,是拿來增添和聲色彩用,不影響和弦主要性質,以下討論可先忽略它們</span></p><h3 class="part" data-endline="28" data-id="每三個和弦一組,先來看組內和弦的順序" data-startline="28" id="每三個和弦一組,先來看組內和弦的順序" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/Ps9kaNFvSC2RisHbv5qHkQ?view#%E6%AF%8F%E4%B8%89%E5%80%8B%E5%92%8C%E5%BC%A6%E4%B8%80%E7%B5%84%EF%BC%8C%E5%85%88%E4%BE%86%E7%9C%8B%E7%B5%84%E5%85%A7%E5%92%8C%E5%BC%A6%E7%9A%84%E9%A0%86%E5%BA%8F" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="每三個和弦一組,先來看組內和弦的順序"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="447" data-size="18" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">每三個和弦一組,先來看組內和弦的順序</span></h3><p class="part" data-endline="30" data-position="466" data-size="0" data-startline="29" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="466" data-size="11" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">另外,觀察一下和弦的 </span><span data-position="477" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">“根音”(root)</span><span data-position="491" data-size="6" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 的進行順序</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="498" data-size="15" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">以第一列第一組(三個和弦)為例</span></p><div class="alert alert-info part" data-endline="32" data-position="514" data-size="30" data-startline="31" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #d9edf7; border-radius: 4px; border: 1px solid rgb(188, 232, 241); box-sizing: border-box; color: #31708f; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 20px; padding: 15px;"><p data-position="523" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; margin: 0px;"><span data-position="523" data-size="17" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Gm -> Am -> Abmaj</span></p></div><p class="part" data-endline="34" data-position="545" data-size="0" data-startline="34" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="545" data-size="13" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">可以看到它移動的軌跡算法是</span></p><ol class="part" data-endline="37" data-position="559" data-size="0" data-startline="35" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="35" data-position="562" data-size="0" data-startline="35" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span data-position="562" data-size="32" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">向上兩個半音 (G -> A),和弦性質不變(都是 minor)</span></li><li data-endline="37" data-position="598" data-size="0" data-startline="36" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="598" data-size="35" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">往下一個半音 (A -> Ab),和弦從 minor 變成 major</span></li></ol><h3 class="part" data-endline="38" data-id="再來看組跟組之間的連接方式" data-startline="38" id="再來看組跟組之間的連接方式" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/Ps9kaNFvSC2RisHbv5qHkQ?view#%E5%86%8D%E4%BE%86%E7%9C%8B%E7%B5%84%E8%B7%9F%E7%B5%84%E4%B9%8B%E9%96%93%E7%9A%84%E9%80%A3%E6%8E%A5%E6%96%B9%E5%BC%8F" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="再來看組跟組之間的連接方式"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="639" data-size="13" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">再來看組跟組之間的連接方式</span></h3><p class="part" data-endline="42" data-position="653" data-size="0" data-startline="39" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="653" data-size="22" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">以第一列為例,總共有兩組和弦 (六個和弦):</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="676" data-size="21" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">第一組的最後一個和弦 “Abmaj” 的 </span><span data-position="697" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">root</span><span data-position="705" data-size="3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 是 </span><span data-position="708" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">Ab</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="715" data-size="17" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">第二組的開頭的和弦 “Cm” 的 </span><span data-position="732" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">root</span><span data-position="740" data-size="3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 是 </span><span data-position="743" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">C</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><code data-position="753" data-size="7" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(0, 0, 0, 0.04); border-radius: 3px; box-sizing: border-box; color: inherit; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; margin: 0px; padding: 0.2em 0px;">Ab -> C</code><span data-position="763" data-size="30" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 總共移動了樂理上的"大三度"的距離,也就是要往上找四個半音</span></p><h3 class="part" data-endline="45" data-id="得到和弦連接的規律" data-startline="45" id="得到和弦連接的規律" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/Ps9kaNFvSC2RisHbv5qHkQ?view#%E5%BE%97%E5%88%B0%E5%92%8C%E5%BC%A6%E9%80%A3%E6%8E%A5%E7%9A%84%E8%A6%8F%E5%BE%8B" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="得到和弦連接的規律"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="800" data-size="9" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">得到和弦連接的規律</span></h3><p class="part" data-endline="46" data-position="810" data-size="0" data-startline="46" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="810" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">觀察</span><span data-position="812" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">第一列</span><span data-position="819" data-size="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">和弦接到</span><span data-position="823" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">第二列</span><span data-position="830" data-size="6" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">開頭的規律為</span></p><div class="alert alert-info part" data-endline="48" data-position="837" data-size="61" data-startline="47" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #d9edf7; border-radius: 4px; border: 1px solid rgb(188, 232, 241); box-sizing: border-box; color: #31708f; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 20px; padding: 15px;"><p data-position="845" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; margin: 0px;"><span data-position="845" data-size="49" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Gm -> Am -> Abmaj -> Cm -> Dm -> Dbmaj -> Fm …</span></p></div><h4 class="part" data-endline="51" data-id="Algorithm" data-startline="51" id="Algorithm" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/Ps9kaNFvSC2RisHbv5qHkQ?view#Algorithm" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Algorithm"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="905" data-size="10" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Algorithm:</span></h4><p class="part" data-endline="52" data-position="916" data-size="0" data-startline="52" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><img alt="" data-position="916" data-size="36" loading="lazy" src="https://i.imgur.com/vxJR4ss.jpg" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><div class="alert alert-success part" data-endline="59" data-position="954" data-size="238" data-startline="54" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #dff0d8; border-radius: 4px; border: 1px solid rgb(214, 233, 198); box-sizing: border-box; color: #3c763d; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 20px; padding: 15px;"><ol data-position="967" data-size="0" start="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="55" data-position="968" data-size="0" data-startline="55" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span data-position="970" data-size="18" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">每三個和弦一組,每一組的出現順序是 </span><code data-position="991" data-size="21" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(0, 0, 0, 0.04); border-radius: 3px; box-sizing: border-box; color: inherit; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; margin: 0px; padding: 0.2em 0px;">[minor, minor, major]</code></li><li data-endline="56" data-position="1017" data-size="0" data-startline="56" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="1019" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">向上</span><span data-position="1021" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">兩個半音</span><span data-position="1029" data-size="21" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> (G -> A),和弦性質不變 (都是 </span><code data-position="1053" data-size="5" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(0, 0, 0, 0.04); border-radius: 3px; box-sizing: border-box; color: inherit; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; margin: 0px; padding: 0.2em 0px;">minor</code><span data-position="1061" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">)</span></li><li data-endline="57" data-position="1064" data-size="0" data-startline="57" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="1066" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">往下</span><span data-position="1068" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">一個半音</span><span data-position="1076" data-size="15" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> (A -> Ab),和弦從 </span><code data-position="1094" data-size="5" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(0, 0, 0, 0.04); border-radius: 3px; box-sizing: border-box; color: inherit; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; margin: 0px; padding: 0.2em 0px;">minor</code><span data-position="1102" data-size="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 變成 </span><code data-position="1109" data-size="5" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(0, 0, 0, 0.04); border-radius: 3px; box-sizing: border-box; color: inherit; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; margin: 0px; padding: 0.2em 0px;">major</code></li><li data-endline="58" data-position="1119" data-size="0" data-startline="58" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="1121" data-size="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">再往上找</span><span data-position="1125" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">四個半音</span><span data-position="1133" data-size="30" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> (Ab -> C),可以找到下一組的第一個和弦,性質變回 </span><code data-position="1166" data-size="6" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(0, 0, 0, 0.04); border-radius: 3px; box-sizing: border-box; color: inherit; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; margin: 0px; padding: 0.2em 0px;">minor </code></li><li data-endline="59" data-position="1177" data-size="0" data-startline="59" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="1179" data-size="11" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">回到步驟 1 重複執行</span></li></ol></div><h3 class="part" data-endline="63" data-id="可以無止盡循環連接的原理" data-startline="63" id="可以無止盡循環連接的原理" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/Ps9kaNFvSC2RisHbv5qHkQ?view#%E5%8F%AF%E4%BB%A5%E7%84%A1%E6%AD%A2%E7%9B%A1%E5%BE%AA%E7%92%B0%E9%80%A3%E6%8E%A5%E7%9A%84%E5%8E%9F%E7%90%86" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="可以無止盡循環連接的原理"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1201" data-size="12" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">可以無止盡循環連接的原理</span></h3><p class="part in-view" data-endline="70" data-position="1212" data-size="0" data-startline="64" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1214" data-size="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">知道了 </span><span data-position="1218" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">“組內”</span><span data-position="1226" data-size="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 以及 </span><span data-position="1230" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">“組跟組之間”</span><span data-position="1241" data-size="10" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 的和聲連結方式後,</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1252" data-size="36" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">根據我上面的樂譜排版,可以觀察一下垂直方向的第一個和弦 root 的走向</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1289" data-size="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">第一列 </span><span data-position="1293" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">Gm</span><span data-position="1299" data-size="3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 開頭</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1303" data-size="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">第二列 </span><span data-position="1307" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">Fm</span><span data-position="1313" data-size="3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 開頭</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1317" data-size="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">第三列 </span><span data-position="1321" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">Ebm</span><span data-position="1328" data-size="3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 開頭</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1332" data-size="3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">…</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="1336" data-size="36" loading="lazy" src="https://i.imgur.com/GPVCsAo.jpg" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part in-view" data-endline="74" data-position="1372" data-size="0" data-startline="72" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1374" data-size="41" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">可以觀察到,每一列開頭的和弦都比上一列低 2 個半音 (G -> F -> Eb)</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1416" data-size="34" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">由於鋼琴上 “一個八度” 之間可以塞 12 個半音,根據簡單的計算 </span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><mn>2</mn><mo>&#x00D7;</mo><mn>6</mn><mo>=</mo><mn>12</mn></math>" id="MathJax-Element-4-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-22" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-23" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mn" id="MJXc-Node-24" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.37em; white-space: pre;">2</span></span><span class="mjx-mo MJXc-space2" id="MJXc-Node-25" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.222em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.213em; white-space: pre;">×</span></span><span class="mjx-mn MJXc-space2" id="MJXc-Node-26" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.222em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.37em; padding-top: 0.37em; white-space: pre;">6</span></span><span class="mjx-mo MJXc-space3" id="MJXc-Node-27" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.055em; white-space: pre;">=</span></span><span class="mjx-mn MJXc-space3" id="MJXc-Node-28" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.37em; white-space: pre;">12</span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><mn>2</mn><mo>×</mo><mn>6</mn><mo>=</mo><mn>12</mn></math></span></span></span><span data-position="1463" data-size="27" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">,因此只要走 6 列之後,就會回到原點,進行下一個循環</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1491" data-size="50" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">( G -> F -> Eb -> Db (=C#) -> B -> A -> G -> … )</span></p><p class="part in-view" data-endline="76" data-position="1541" data-size="0" data-startline="76" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1543" data-size="20" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">如此,整首歌的和弦可以無止盡地連接下去!</span></p><p class="part in-view" data-endline="76" data-position="1541" data-size="0" data-startline="76" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1543" data-size="20" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><br /></span></p><h3>相關文章整理</h3><p class="part in-view" data-endline="76" data-position="1541" data-size="0" data-startline="76" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1543" data-size="20" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span></p><ul><a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html" target="_blank"></a><li><b><a href="https://violin-tao.blogspot.com/2018/07/musescore.html" target="_blank">[筆記] Musescore 打譜軟體使用備忘錄</a></b><a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html" target="_blank"></a></li><li><a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html" target="_blank"><b>[筆記] Markdown 打譜 - ABC notation 初體驗</b></a></li><li><a href="https://violin-tao.blogspot.com/2022/10/abc-notation.html" target="_blank"><b>[採譜] 使用 ABC Notation 採譜 周杰倫 - 最偉大的作品</b></a></li><li><a href="https://violin-tao.blogspot.com/2022/10/abc-notation_26.html" target="_blank"><b>[採譜] 使用 ABC Notation 採譜 周杰倫 - 紅顏如霜</b></a></li><li><b><a href="https://violin-tao.blogspot.com/2022/12/abc-notation-machinedrum-infinite-us.html">[採譜] 使用 ABC Notation 採譜 Machinedrum - Infinite Us</a></b></li><li><a href="https://violin-tao.blogspot.com/2022/07/violin-transcription-by-yuntao.html" target="_blank"><b>[採譜] 周杰倫 - 最偉大的作品 violin transcription by yuntao</b></a></li><li><b><a href="https://violin-tao.blogspot.com/2015/02/ableton-live-resolume-arena.html" target="_blank">[筆記] 連接Ableton Live 與 Resolume Arena</a></b></li><li><b><a href="https://violin-tao.blogspot.com/2014/02/logic-pro-x-mac.html" target="_blank">[筆記] Logic pro x 快速鍵 (mac)</a><br /> </b></li><a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html" target="_blank"></a><li><a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html" target="_blank"></a><a href="https://violin-tao.blogspot.com/2016/12/blog-post.html" target="_blank"><b>音樂訊號分析相關資源整理</b></a></li><li><a href="https://violin-tao.blogspot.com/2016/05/mac-afplay.html" target="_blank"><b>[筆記] Mac內建播放聲音指令 afplay</b></a></li><li><a href="https://violin-tao.blogspot.com/2017/05/ffmpeg-wav-mp3.html" target="_blank"><b>[筆記] 使用 ffmpeg 將 wav 轉成 mp3</b></a></li><li><b><a href="https://violin-tao.blogspot.com/2014/02/visualizing-sound.html" target="_blank">[筆記] Visualizing Sound 聲波圖概念</a><br /> </b></li><li><b><a href="https://violin-tao.blogspot.com/2014/03/20140304.html" target="_blank">[筆記] 全球音樂文化 2014/03/04</a> (日本音樂文化)</b></li><li><b><a href="https://violin-tao.blogspot.com/2014/03/20140311.html" target="_blank">[筆記] 全球音樂文化 2014/03/11</a> (蒙古與西藏)</b></li><li><b><a href="https://violin-tao.blogspot.com/2014/03/20140318.html" target="_blank">[筆記] 全球音樂文化 2014/03/18</a> (印尼甘美朗音樂與流行音樂)</b></li><li><a href="https://violin-tao.blogspot.com/2014/03/20140325.html" target="_blank"><b>[筆記] 全球音樂文化 2014/03/25 印度古典音樂與電影音樂</b></a></li><li><a href="https://violin-tao.blogspot.com/2014/04/20140401.html" target="_blank"><b>[筆記] 全球音樂文化 2014/04/01 阿拉伯與伊斯蘭世界</b></a></li><li><a href="https://violin-tao.blogspot.com/2014/04/20140408.html" target="_blank"><b>[筆記] 全球音樂文化 2014/04/08 中亞諸國:絲路上的音樂</b></a></li><li><a href="https://violin-tao.blogspot.com/2014/04/20140415.html" target="_blank"><b>[筆記] 全球音樂文化 2014/04/15 非洲:傳統與蛻變</b></a></li><li><a href="https://violin-tao.blogspot.com/2014/04/20140422.html" target="_blank"><b>[筆記] 全球音樂文化 2014/04/22 歐洲</b></a></li><li><a href="https://violin-tao.blogspot.com/2014/05/20140506.html" target="_blank"><b>[筆記] 全球音樂文化 2014/05/06 北美洲</b></a></li><li><b><a href="https://violin-tao.blogspot.com/2014/05/20140513.html" target="_blank">[筆記] 全球音樂文化 2014/05/13 拉丁美洲</a></b></li><li><b><a href="https://violin-tao.blogspot.com/2014/04/raga-beats.html" target="_blank">[心得] Raga Beats -- 印度塔布拉鼓演奏音樂會</a> (期中作業)</b></li><li><b><a href="https://violin-tao.blogspot.com/2014/06/blog-post.html" target="_blank">全球音樂文化 期末報告 -- 耶路薩冷現代爵士作曲家作品中傳統音樂元素探索 (節錄)</a></b></li></ul>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-82528613724886261052022-12-06T20:12:00.003-08:002022-12-06T20:15:08.632-08:00[ML筆記] Self-Supervised Learning (SSL)<p> </p><h1 class="part" data-endline="1" data-id="DLCV-week-12-Self-Supervised-Learning-SSL" data-startline="1" id="DLCV-week-12-Self-Supervised-Learning-SSL" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 16px; padding-bottom: 0.3em;"><span data-position="2" data-size="43" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Self-Supervised Learning (SSL)</span></h1><h6 class="part" data-endline="2" data-id="tags-AIML" data-startline="2" id="tags-AIML" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #777777; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 0.85em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/FZbJ0hT0R3KX2_D9ZQkCiw?view#tags-AIML" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="tags-AIML"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a></h6><p class="part" data-endline="5" data-position="68" data-size="0" data-startline="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="68" data-size="22" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">本篇是台大電機王鈺強老師 DLCV 課程筆記</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="91" data-size="15" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">投影片 from 課程網站: </span><a href="http://vllab.ee.ntu.edu.tw/dlcv.html" rel="noopener" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration-line: none;" target="_blank">http://vllab.ee.ntu.edu.tw/dlcv.html</a></p><h3 class="part" data-endline="7" data-id="Self-Supervised-Learning-SSL" data-startline="7" id="Self-Supervised-Learning-SSL" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/FZbJ0hT0R3KX2_D9ZQkCiw?view#Self-Supervised-Learning-SSL" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Self-Supervised-Learning-SSL"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="148" data-size="30" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Self-Supervised Learning (SSL)</span></h3><p class="part" data-endline="10" data-position="179" data-size="0" data-startline="8" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="179" data-size="54" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">用沒有 label 的 data 先 pretrain 再用有 label 的 data fine-tune</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="234" data-size="33" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">好處:label data 資料不夠時,可以用這招訓練 model</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="268" data-size="36" loading="lazy" src="https://i.imgur.com/CnF1Uxs.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h2 class="part" data-endline="13" data-id="Self-Supervised-Learning-SSL-怎麼做?" data-startline="13" id="Self-Supervised-Learning-SSL-怎麼做?" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/FZbJ0hT0R3KX2_D9ZQkCiw?view#Self-Supervised-Learning-SSL-%E6%80%8E%E9%BA%BC%E5%81%9A%EF%BC%9F" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Self-Supervised-Learning-SSL-怎麼做?"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="310" data-size="35" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Self-Supervised Learning (SSL) 怎麼做?</span></h2><ul class="part" data-endline="22" data-startline="15" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="17" data-position="349" data-size="0" data-startline="15" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span data-position="349" data-size="43" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span><a name='more'></a></span>PreText Tasks (自己對data製造合理的 label 下去 train)</span><ul style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; margin-bottom: 0px; margin-top: 0px; padding-left: 2em;"><li data-endline="16" data-position="399" data-size="0" data-startline="16" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span data-position="399" data-size="6" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Jigsaw</span></li><li data-endline="17" data-position="412" data-size="0" data-startline="17" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="412" data-size="6" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">RotNet</span></li></ul></li><li data-endline="20" data-position="421" data-size="0" data-startline="18" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="421" data-size="27" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Contrastive Learning (對比學習)</span><ul style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; margin-bottom: 0px; margin-top: 0px; padding-left: 2em;"><li data-endline="19" data-position="455" data-size="0" data-startline="19" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span data-position="455" data-size="3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">CPC</span></li><li data-endline="20" data-position="465" data-size="0" data-startline="20" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="465" data-size="6" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">SimCLR</span></li></ul></li><li data-endline="22" data-position="474" data-size="0" data-startline="21" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="474" data-size="28" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Learning w/o negative sample</span></li></ul><h3 class="part" data-endline="23" data-id="PreText---RotNet" data-startline="23" id="PreText---RotNet" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/FZbJ0hT0R3KX2_D9ZQkCiw?view#PreText---RotNet" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="PreText---RotNet"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="508" data-size="16" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">PreText - RotNet</span></h3><p class="part" data-endline="25" data-position="525" data-size="0" data-startline="24" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="525" data-size="28" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">用不同角度的旋轉,分別作為不同類別下去 pretrain</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="554" data-size="36" loading="lazy" src="https://i.imgur.com/sQKq2kr.jpg" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h3 class="part" data-endline="28" data-id="PreText---Jigsaw-Puzzle" data-startline="28" id="PreText---Jigsaw-Puzzle" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/FZbJ0hT0R3KX2_D9ZQkCiw?view#PreText---Jigsaw-Puzzle" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="PreText---Jigsaw-Puzzle"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="597" data-size="23" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">PreText - Jigsaw Puzzle</span></h3><p class="part" data-endline="31" data-position="622" data-size="0" data-startline="30" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="622" data-size="49" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">如圖,圖片切成擷取九宮格,把九宮格順序打亂,把一種打亂的順序當作一種 label 下去 train</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="672" data-size="36" loading="lazy" src="https://i.imgur.com/pIlFgDz.jpg" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part" data-endline="33" data-position="710" data-size="0" data-startline="33" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="710" data-size="44" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">一種打亂的方式就對應到一種 one-hot vector 當做 ground-truth</span></p><h3 class="part" data-endline="36" data-id="Contrastive-Predictive-CodingCPC" data-startline="36" id="Contrastive-Predictive-CodingCPC" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/FZbJ0hT0R3KX2_D9ZQkCiw?view#Contrastive-Predictive-CodingCPC" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Contrastive-Predictive-CodingCPC"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="761" data-size="34" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Contrastive Predictive Coding(CPC)</span></h3><p class="part" data-endline="41" data-position="796" data-size="0" data-startline="37" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="796" data-size="18" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">想法:把照片切成很多 patches</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="815" data-size="39" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">同一張照片當中的 patches 當做 positive pair (正樣本)</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="855" data-size="39" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">不同張照片之間的 patches 當做 negative pair (負樣本)</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="895" data-size="31" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">去訓練模型可以 Max 正樣本的相似度,min 負樣本的相似度</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="927" data-size="36" loading="lazy" src="https://i.imgur.com/eRnsj4y.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part" data-endline="45" data-position="965" data-size="0" data-startline="43" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="965" data-size="10" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Q: 這麼做,有什麼</span><span data-position="975" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">限制</span><span data-position="981" data-size="1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">?</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="983" data-size="105" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">A: 在挑 pair 的時候,可能會挑到不是重點的 patch,例如一張圖片我們任意切,隨機挑到的區塊可能只是個背景,這樣下去訓練正樣本 pair 與負樣本 pair 之間的 similarity 容易出問題;</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1089" data-size="49" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">因爲,即便是負樣本之間,如果剛好挑到的背景都是藍天白雲,那訓練時就會讓模型 容易 confuse。</span></p><h3 class="part" data-endline="47" data-id="SimCLR" data-startline="47" id="SimCLR" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/FZbJ0hT0R3KX2_D9ZQkCiw?view#SimCLR" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="SimCLR"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1144" data-size="6" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">SimCLR</span></h3><p class="part" data-endline="50" data-position="1151" data-size="0" data-startline="48" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1151" data-size="8" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">接續上一段話題,</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1160" data-size="43" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">這次我們不做在圖片上切區塊的 patche-wise pair 之間的拉近跟推遠策略,</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1204" data-size="26" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">而是做 image-wise 之間的拉近與推遠策略!</span></p><p class="part" data-endline="56" data-position="1232" data-size="0" data-startline="52" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1232" data-size="3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">作法:</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1236" data-size="7" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">把同一張照片,</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1244" data-size="45" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">透過 image augmentation 手法製造出另一張照片,這樣的 pair 做為 </span><span data-position="1289" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">positive pair</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1307" data-size="24" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">在不同張照片之間做操作後產出來的 pair 為 </span><span data-position="1331" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">negative pair</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1350" data-size="42" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">用這兩種 pair 下去 train,訓練模型可以區分出 pair 之間相似度的遠近</span></p><p class="part" data-endline="58" data-position="1394" data-size="0" data-startline="58" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><img alt="" data-position="1394" data-size="36" loading="lazy" src="https://i.imgur.com/qAmTEmp.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part" data-endline="60" data-position="1432" data-size="0" data-startline="60" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1432" data-size="64" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">如圖,train 完後拿圖上 model 架構中比較 low-level 的 feature “f” 下去做 fine-tune</span></p><h4 class="part" data-endline="62" data-id="SimCLR-的實驗" data-startline="62" id="SimCLR-的實驗" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/FZbJ0hT0R3KX2_D9ZQkCiw?view#SimCLR-%E7%9A%84%E5%AF%A6%E9%A9%97" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="SimCLR-的實驗"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1504" data-size="10" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">SimCLR 的實驗</span></h4><p class="part" data-endline="64" data-position="1515" data-size="0" data-startline="63" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1515" data-size="77" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Label 1% 的意思是,拿 99% 的 unlabeled 資料下去做 pretrain,拿 1% 的 label data 去做 fine-tune</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="1593" data-size="36" loading="lazy" src="https://i.imgur.com/oAjZFKj.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h2 class="part" data-endline="67" data-id="Bootstrap-Your-One-Latent-BYOL" data-startline="67" id="Bootstrap-Your-One-Latent-BYOL" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/FZbJ0hT0R3KX2_D9ZQkCiw?view#Bootstrap-Your-One-Latent-BYOL" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Bootstrap-Your-One-Latent-BYOL"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1613" data-size="32" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Bootstrap Your One Latent (BYOL)</span></h2><p class="part" data-endline="68" data-position="1668" data-size="0" data-startline="68" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1646" data-size="82" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">跟 SimCLR 的策略一樣,將一張原始圖片做 image augmentation 處理後產生新的圖下去 train 新產生的圖與原圖之間的 similarity</span></p><p class="part" data-endline="71" data-position="1752" data-size="0" data-startline="70" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1730" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">“No Need of neative pairs”</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1761" data-size="74" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">但與 SimCLR 不同點在於,BYOL 沒有做不同圖片之間的 “不相似的” similarity 訓練,只有訓練正樣本之間的 similarity</span></p><p class="part" data-endline="76" data-position="1859" data-size="0" data-startline="73" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1837" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">BYOL 架構跟 SimCLR 的比較</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="1861" data-size="36" loading="lazy" src="https://i.imgur.com/aTWmxOW.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1898" data-size="22" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">如圖,BYOL 左邊的 encoder (</span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>&#x03B8;</mi><mi>S</mi></msub></math>" id="MathJax-Element-266-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-2412" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2413" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-msubsup" id="MJXc-Node-2414" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-base" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mi" id="MJXc-Node-2415" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-top: 0.475em; white-space: pre;">θ</span></span></span><span class="mjx-sub" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; font-size: 13.4613px; padding-right: 0.071em; vertical-align: -0.23em;"><span class="mjx-mi" id="MJXc-Node-2416" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-right: 0.032em; padding-top: 0.475em; white-space: pre;">S</span></span></span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>θ</mi><mi>S</mi></msub></math></span></span></span><span data-position="1930" data-size="23" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">)直接透過算出來的 gradient 更新參數</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1954" data-size="18" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">BYOL 右邊的 encoder (</span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>&#x03B8;</mi><mi>T</mi></msub></math>" id="MathJax-Element-267-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-2417" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2418" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-msubsup" id="MJXc-Node-2419" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-base" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mi" id="MJXc-Node-2420" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-top: 0.475em; white-space: pre;">θ</span></span></span><span class="mjx-sub" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; font-size: 13.4613px; padding-right: 0.071em; vertical-align: -0.212em;"><span class="mjx-mi" id="MJXc-Node-2421" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.12em; padding-top: 0.475em; white-space: pre;">T</span></span></span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>θ</mi><mi>T</mi></msub></math></span></span></span><span data-position="1982" data-size="37" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">)沒有直接透過 gradient 更新參數,而是用左邊 encoder (</span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>&#x03B8;</mi><mi>S</mi></msub></math>" id="MathJax-Element-268-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-2422" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2423" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-msubsup" id="MJXc-Node-2424" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-base" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mi" id="MJXc-Node-2425" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-top: 0.475em; white-space: pre;">θ</span></span></span><span class="mjx-sub" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; font-size: 13.4613px; padding-right: 0.071em; vertical-align: -0.23em;"><span class="mjx-mi" id="MJXc-Node-2426" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-right: 0.032em; padding-top: 0.475em; white-space: pre;">S</span></span></span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>θ</mi><mi>S</mi></msub></math></span></span></span><span data-position="2029" data-size="20" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">)在更新參數時,透過 EMA 某種比率(</span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><mi>&#x03C4;</mi></math>" id="MathJax-Element-269-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-2427" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2428" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mi" id="MJXc-Node-2429" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.08em; padding-top: 0.213em; white-space: pre;">τ</span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>τ</mi></math></span></span></span><span data-position="2055" data-size="9" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">)上慢慢地更新參數</span></p><div class="alert alert-success part" data-endline="78" data-position="2087" data-size="103" data-startline="77" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #dff0d8; border-radius: 4px; border: 1px solid rgb(214, 233, 198); box-sizing: border-box; color: #3c763d; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 20px; padding: 15px;"><p data-position="2076" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; margin: 0px;"><span data-position="2076" data-size="34" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Exponential Movine Average (EMA): </span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>&#x03B8;</mi><mi>T</mi></msub><mo stretchy="false">&#x2190;</mo><mi>&#x03C4;</mi><msub><mi>&#x03B8;</mi><mi>T</mi></msub><mo>+</mo><mo stretchy="false">(</mo><mn>1</mn><mo>&#x2212;</mo><mi>&#x03C4;</mi><mo stretchy="false">)</mo><msub><mi>&#x03B8;</mi><mi>S</mi></msub></math>" id="MathJax-Element-270-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-2430" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2431" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-msubsup" id="MJXc-Node-2432" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-base" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mi" id="MJXc-Node-2433" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-top: 0.475em; white-space: pre;">θ</span></span></span><span class="mjx-sub" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; font-size: 13.4613px; padding-right: 0.071em; vertical-align: -0.212em;"><span class="mjx-mi" id="MJXc-Node-2434" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.12em; padding-top: 0.475em; white-space: pre;">T</span></span></span></span><span class="mjx-mo MJXc-space3" id="MJXc-Node-2435" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.37em; padding-top: 0.213em; white-space: pre;">←</span></span><span class="mjx-mi MJXc-space3" id="MJXc-Node-2436" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.08em; padding-top: 0.213em; white-space: pre;">τ</span></span><span class="mjx-msubsup" id="MJXc-Node-2437" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-base" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mi" id="MJXc-Node-2438" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-top: 0.475em; white-space: pre;">θ</span></span></span><span class="mjx-sub" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; font-size: 13.4613px; padding-right: 0.071em; vertical-align: -0.212em;"><span class="mjx-mi" id="MJXc-Node-2439" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.12em; padding-top: 0.475em; white-space: pre;">T</span></span></span></span><span class="mjx-mo MJXc-space2" id="MJXc-Node-2440" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.222em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.423em; padding-top: 0.318em; white-space: pre;">+</span></span><span class="mjx-mo MJXc-space2" id="MJXc-Node-2441" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.222em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.58em; padding-top: 0.475em; white-space: pre;">(</span></span><span class="mjx-mn" id="MJXc-Node-2442" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.37em; white-space: pre;">1</span></span><span class="mjx-mo MJXc-space2" id="MJXc-Node-2443" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.222em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.423em; padding-top: 0.318em; white-space: pre;">−</span></span><span class="mjx-mi MJXc-space2" id="MJXc-Node-2444" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.222em;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.08em; padding-top: 0.213em; white-space: pre;">τ</span></span><span class="mjx-mo" id="MJXc-Node-2445" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.58em; padding-top: 0.475em; white-space: pre;">)</span></span><span class="mjx-msubsup" id="MJXc-Node-2446" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-base" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mi" id="MJXc-Node-2447" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-top: 0.475em; white-space: pre;">θ</span></span></span><span class="mjx-sub" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; font-size: 13.4613px; padding-right: 0.071em; vertical-align: -0.23em;"><span class="mjx-mi" id="MJXc-Node-2448" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-right: 0.032em; padding-top: 0.475em; white-space: pre;">S</span></span></span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>θ</mi><mi>T</mi></msub><mo stretchy="false">←</mo><mi>τ</mi><msub><mi>θ</mi><mi>T</mi></msub><mo>+</mo><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>τ</mi><mo stretchy="false">)</mo><msub><mi>θ</mi><mi>S</mi></msub></math></span></span></span></p></div><p class="part" data-endline="83" data-position="2193" data-size="0" data-startline="82" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2171" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">思考: SimCLR 架構中使用 shared encoder 有什麼問題,以至於 BYOL 要採用這樣的架構?</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="2232" data-size="194" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">在 SimCLR 架構中,可能會發生 mode collapse 的問題,因為無論是原圖還是透過 augmentation 手法產生的新圖片,都會去透過 grad. 直接更新到 encoder 的參數,造成類似訓練 GAN 模型時會遇到的 mode collapse 問題,mode collapse 這種問題概念上來說,就是只會產生出自己看過的少許幾種表現形式,缺少 diversity</span></p><p class="part" data-endline="86" data-position="2451" data-size="0" data-startline="85" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2429" data-size="126" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">所以在 BYOL 的架構中,只有原圖輸入時的 grad 會直接更新參數,產生的圖片訓練時的 momentum encoder 不直接被訓練,而是透過(下圖BYOL)左邊的 encoder 間接透過一定的比率更新參數,可以提升輸出端的 diversity</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="2556" data-size="36" loading="lazy" src="https://i.imgur.com/f8pRTxP.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h2 class="part in-view" data-endline="89" data-id="Barlow-Twins" data-startline="89" id="Barlow-Twins" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/FZbJ0hT0R3KX2_D9ZQkCiw?view#Barlow-Twins" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Barlow-Twins"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="2598" data-size="12" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Barlow Twins</span></h2><p class="part in-view" data-endline="92" data-position="2633" data-size="0" data-startline="90" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2633" data-size="31" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">接續上面一段的話題,這是另一種提升 diversity 的策略</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="2665" data-size="7" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">概念如下圖說明</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="2673" data-size="36" loading="lazy" src="https://i.imgur.com/FI0UmHG.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part in-view" data-endline="96" data-position="2711" data-size="0" data-startline="94" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>Y</mi><mi>A</mi></msup></math>" id="MathJax-Element-271-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-2449" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2450" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-msubsup" id="MJXc-Node-2451" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-base" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-right: -0.182em;"><span class="mjx-mi" id="MJXc-Node-2452" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.182em; padding-top: 0.475em; white-space: pre;">Y</span></span></span><span class="mjx-sup" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; font-size: 13.4613px; padding-left: 0.405em; padding-right: 0.071em; vertical-align: 0.513em;"><span class="mjx-mi" id="MJXc-Node-2453" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-top: 0.475em; white-space: pre;">A</span></span></span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>Y</mi><mi>A</mi></msup></math></span></span></span><span data-position="2716" data-size="3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 跟 </span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>Y</mi><mi>B</mi></msup></math>" id="MathJax-Element-272-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-2454" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2455" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-msubsup" id="MJXc-Node-2456" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-base" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-right: -0.182em;"><span class="mjx-mi" id="MJXc-Node-2457" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.182em; padding-top: 0.475em; white-space: pre;">Y</span></span></span><span class="mjx-sup" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; font-size: 13.4613px; padding-left: 0.405em; padding-right: 0.071em; vertical-align: 0.513em;"><span class="mjx-mi" id="MJXc-Node-2458" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-top: 0.475em; white-space: pre;">B</span></span></span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>Y</mi><mi>B</mi></msup></math></span></span></span><span data-position="2724" data-size="8" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 都是透過原圖 </span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><mi>X</mi></math>" id="MathJax-Element-273-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-2459" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2460" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mi" id="MJXc-Node-2461" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.024em; padding-top: 0.475em; white-space: pre;">X</span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>X</mi></math></span></span></span><span data-position="2735" data-size="37" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 產生出來的新圖片,兩張圖片分別作為 input 拿去訓練我們的神經網路 </span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>f</mi><mi>&#x03B8;</mi></msub></math>" id="MathJax-Element-274-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-2462" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2463" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-msubsup" id="MJXc-Node-2464" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-base" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-right: -0.06em;"><span class="mjx-mi" id="MJXc-Node-2465" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.475em; padding-right: 0.06em; padding-top: 0.475em; white-space: pre;">f</span></span></span><span class="mjx-sub" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; font-size: 13.4613px; padding-right: 0.071em; vertical-align: -0.23em;"><span class="mjx-mi" id="MJXc-Node-2466" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-top: 0.475em; white-space: pre;">θ</span></span></span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>f</mi><mi>θ</mi></msub></math></span></span></span><span data-position="2782" data-size="20" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">,所分別產生的 embedding 為 </span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>Z</mi><mi>A</mi></msup></math>" id="MathJax-Element-275-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-2467" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2468" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-msubsup" id="MJXc-Node-2469" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-base" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-right: -0.04em;"><span class="mjx-mi" id="MJXc-Node-2470" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.04em; padding-top: 0.475em; white-space: pre;">Z</span></span></span><span class="mjx-sup" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; font-size: 13.4613px; padding-left: 0.144em; padding-right: 0.071em; vertical-align: 0.513em;"><span class="mjx-mi" id="MJXc-Node-2471" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-top: 0.475em; white-space: pre;">A</span></span></span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>Z</mi><mi>A</mi></msup></math></span></span></span><span data-position="2807" data-size="3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 與 </span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>Z</mi><mi>B</mi></msup></math>" id="MathJax-Element-276-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-2472" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2473" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-msubsup" id="MJXc-Node-2474" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-base" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-right: -0.04em;"><span class="mjx-mi" id="MJXc-Node-2475" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.04em; padding-top: 0.475em; white-space: pre;">Z</span></span></span><span class="mjx-sup" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; font-size: 13.4613px; padding-left: 0.144em; padding-right: 0.071em; vertical-align: 0.513em;"><span class="mjx-mi" id="MJXc-Node-2476" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-top: 0.475em; white-space: pre;">B</span></span></span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>Z</mi><mi>B</mi></msup></math></span></span></span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="2817" data-size="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">接著相 </span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>Z</mi><mi>A</mi></msup></math>" id="MathJax-Element-277-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-2477" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2478" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-msubsup" id="MJXc-Node-2479" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-base" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-right: -0.04em;"><span class="mjx-mi" id="MJXc-Node-2480" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.04em; padding-top: 0.475em; white-space: pre;">Z</span></span></span><span class="mjx-sup" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; font-size: 13.4613px; padding-left: 0.144em; padding-right: 0.071em; vertical-align: 0.513em;"><span class="mjx-mi" id="MJXc-Node-2481" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-top: 0.475em; white-space: pre;">A</span></span></span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>Z</mi><mi>A</mi></msup></math></span></span></span><span data-position="2826" data-size="3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 與 </span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>Z</mi><mi>B</mi></msup></math>" id="MathJax-Element-278-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-2482" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2483" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-msubsup" id="MJXc-Node-2484" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-base" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-right: -0.04em;"><span class="mjx-mi" id="MJXc-Node-2485" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.04em; padding-top: 0.475em; white-space: pre;">Z</span></span></span><span class="mjx-sup" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; font-size: 13.4613px; padding-left: 0.144em; padding-right: 0.071em; vertical-align: 0.513em;"><span class="mjx-mi" id="MJXc-Node-2486" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-top: 0.475em; white-space: pre;">B</span></span></span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>Z</mi><mi>B</mi></msup></math></span></span></span><span data-position="2834" data-size="14" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 做外積,可以得到一個矩陣 </span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><mrow class="MJX-TeXAtom-ORD"><mi class="MJX-tex-caligraphic" mathvariant="script">C</mi></mrow></math>" id="MathJax-Element-279-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-2487" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2488" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-texatom" id="MJXc-Node-2489" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2490" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mi" id="MJXc-Node-2491" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-cal-R" face="MJXc-TeX-cal-R, MJXc-TeX-cal-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-right: 0.006em; padding-top: 0.423em; white-space: pre;">C</span></span></span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow class="MJX-TeXAtom-ORD"><mi class="MJX-tex-caligraphic" mathvariant="script">C</mi></mrow></math></span></span></span><span data-position="2861" data-size="8" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 矩陣的長寬為 </span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>Z</mi><mi>A</mi></msup></math>" id="MathJax-Element-280-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-2492" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2493" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-msubsup" id="MJXc-Node-2494" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-base" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-right: -0.04em;"><span class="mjx-mi" id="MJXc-Node-2495" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.04em; padding-top: 0.475em; white-space: pre;">Z</span></span></span><span class="mjx-sup" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; font-size: 13.4613px; padding-left: 0.144em; padding-right: 0.071em; vertical-align: 0.513em;"><span class="mjx-mi" id="MJXc-Node-2496" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-top: 0.475em; white-space: pre;">A</span></span></span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>Z</mi><mi>A</mi></msup></math></span></span></span><span data-position="2874" data-size="3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 與 </span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>Z</mi><mi>B</mi></msup></math>" id="MathJax-Element-281-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-2497" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2498" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-msubsup" id="MJXc-Node-2499" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-base" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-right: -0.04em;"><span class="mjx-mi" id="MJXc-Node-2500" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.04em; padding-top: 0.475em; white-space: pre;">Z</span></span></span><span class="mjx-sup" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; font-size: 13.4613px; padding-left: 0.144em; padding-right: 0.071em; vertical-align: 0.513em;"><span class="mjx-mi" id="MJXc-Node-2501" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-top: 0.475em; white-space: pre;">B</span></span></span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>Z</mi><mi>B</mi></msup></math></span></span></span><span data-position="2882" data-size="12" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 的 dimension</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="2895" data-size="46" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">接著我們要讓這個矩陣的對角線方向的 feature 越接近 Identity Matrix </span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><mrow class="MJX-TeXAtom-ORD"><mi class="MJX-tex-caligraphic" mathvariant="script">I</mi></mrow></math>" id="MathJax-Element-282-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-2502" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2503" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-texatom" id="MJXc-Node-2504" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2505" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mi" id="MJXc-Node-2506" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-cal-R" face="MJXc-TeX-cal-R, MJXc-TeX-cal-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-right: 0.097em; padding-top: 0.423em; white-space: pre;">I</span></span></span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow class="MJX-TeXAtom-ORD"><mi class="MJX-tex-caligraphic" mathvariant="script">I</mi></mrow></math></span></span></span><span data-position="2954" data-size="3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 越好</span></p><div class="alert alert-info part in-view" data-endline="102" data-position="2958" data-size="196" data-startline="97" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #d9edf7; border-radius: 4px; border: 1px solid rgb(188, 232, 241); box-sizing: border-box; color: #31708f; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 20px; padding: 15px;"><p data-position="2966" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; margin: 0px;"><span data-position="2966" data-size="32" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">幫大家複習一下線性代數,所謂的 Identity Matrix </span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><mrow class="MJX-TeXAtom-ORD"><mi class="MJX-tex-caligraphic" mathvariant="script">I</mi></mrow></math>" id="MathJax-Element-283-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-2507" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2508" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-texatom" id="MJXc-Node-2509" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2510" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mi" id="MJXc-Node-2511" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-cal-R" face="MJXc-TeX-cal-R, MJXc-TeX-cal-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-right: 0.097em; padding-top: 0.423em; white-space: pre;">I</span></span></span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow class="MJX-TeXAtom-ORD"><mi class="MJX-tex-caligraphic" mathvariant="script">I</mi></mrow></math></span></span></span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="3014" data-size="28" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">就是除了對角線方向為 1 以外,其餘的數字為 0,例如:</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="3043" data-size="21" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Identity Matrix (3x3)</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MJXc-display" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: block; float: none; letter-spacing: normal; line-height: 0; margin: 1em 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 0px; text-align: center; white-space: nowrap; word-spacing: normal;"><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><msub><mrow class="MJX-TeXAtom-ORD"><mi class="MJX-tex-caligraphic" mathvariant="script">I</mi></mrow><mn>3</mn></msub><mo>=</mo><mrow><mo>[</mo><mtable rowspacing="4pt" columnspacing="1em"><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable><mo>]</mo></mrow></math>" id="MathJax-Element-284-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-2512" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2513" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; text-align: left;"><span class="mjx-msubsup" id="MJXc-Node-2514" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-base" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-right: -0.097em;"><span class="mjx-texatom" id="MJXc-Node-2515" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2516" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mi" id="MJXc-Node-2517" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-cal-R" face="MJXc-TeX-cal-R, MJXc-TeX-cal-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-right: 0.097em; padding-top: 0.423em; white-space: pre;">I</span></span></span></span></span><span class="mjx-sub" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; font-size: 13.4613px; padding-right: 0.071em; vertical-align: -0.212em;"><span class="mjx-mn" id="MJXc-Node-2518" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.37em; padding-top: 0.37em; white-space: pre;">3</span></span></span></span><span class="mjx-mo MJXc-space3" id="MJXc-Node-2519" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.055em; white-space: pre;">=</span></span><span class="mjx-mrow MJXc-space3" id="MJXc-Node-2520" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.278em;"><span class="mjx-mo" id="MJXc-Node-2521" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; vertical-align: -0.981em;"><span class="mjx-delim-v" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-size4-R" face="MJXc-TeX-size4-R, MJXc-TeX-size4-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.948em; padding-top: 0.948em; white-space: pre;">⎡</span><span class="mjx-char MJXc-TeX-size4-R" face="MJXc-TeX-size4-R, MJXc-TeX-size4-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; line-height: 0.202em; margin-bottom: -0.101em; margin-top: 0px; white-space: pre;">⎢</span><span class="mjx-char MJXc-TeX-size4-R" face="MJXc-TeX-size4-R, MJXc-TeX-size4-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.895em; padding-top: 0.948em; white-space: pre;">⎣</span></span></span><span class="mjx-mtable" id="MJXc-Node-2522" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; padding: 0px 0.167em; vertical-align: -1.65em;"><span class="mjx-table" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: table; width: 66.6328px;"><span class="mjx-mtr" id="MJXc-Node-2523" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: table-row; height: 1.2em;"><span class="mjx-mtd" id="MJXc-Node-2524" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: table-cell; padding: 0px 0.5em 0px 0px; text-align: center; width: 0.5em;"><span class="mjx-mrow" id="MJXc-Node-2525" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-top: -0.2em; text-align: left;"><span class="mjx-mn" id="MJXc-Node-2526" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.37em; white-space: pre;">1</span></span><span class="mjx-strut" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; padding-top: 1em; width: 0px;"></span></span></span><span class="mjx-mtd" id="MJXc-Node-2527" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: table-cell; padding: 0px 0.5em; text-align: center; width: 0.5em;"><span class="mjx-mrow" id="MJXc-Node-2528" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-top: -0.2em; text-align: left;"><span class="mjx-mn" id="MJXc-Node-2529" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.37em; padding-top: 0.37em; white-space: pre;">0</span></span><span class="mjx-strut" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; padding-top: 1em; width: 0px;"></span></span></span><span class="mjx-mtd" id="MJXc-Node-2530" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: table-cell; padding: 0px 0px 0px 0.5em; text-align: center; width: 0.5em;"><span class="mjx-mrow" id="MJXc-Node-2531" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-top: -0.2em; text-align: left;"><span class="mjx-mn" id="MJXc-Node-2532" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.37em; padding-top: 0.37em; white-space: pre;">0</span></span><span class="mjx-strut" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; padding-top: 1em; width: 0px;"></span></span></span></span><span class="mjx-mtr" id="MJXc-Node-2533" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: table-row; height: 1.4em;"><span class="mjx-mtd" id="MJXc-Node-2534" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: table-cell; padding: 0.2em 0.5em 0px 0px; text-align: center;"><span class="mjx-mrow" id="MJXc-Node-2535" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-top: -0.2em; text-align: left;"><span class="mjx-mn" id="MJXc-Node-2536" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.37em; padding-top: 0.37em; white-space: pre;">0</span></span><span class="mjx-strut" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; padding-top: 1em; width: 0px;"></span></span></span><span class="mjx-mtd" id="MJXc-Node-2537" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: table-cell; padding: 0.2em 0.5em 0px; text-align: center;"><span class="mjx-mrow" id="MJXc-Node-2538" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-top: -0.2em; text-align: left;"><span class="mjx-mn" id="MJXc-Node-2539" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.37em; white-space: pre;">1</span></span><span class="mjx-strut" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; padding-top: 1em; width: 0px;"></span></span></span><span class="mjx-mtd" id="MJXc-Node-2540" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: table-cell; padding: 0.2em 0px 0px 0.5em; text-align: center;"><span class="mjx-mrow" id="MJXc-Node-2541" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-top: -0.2em; text-align: left;"><span class="mjx-mn" id="MJXc-Node-2542" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.37em; padding-top: 0.37em; white-space: pre;">0</span></span><span class="mjx-strut" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; padding-top: 1em; width: 0px;"></span></span></span></span><span class="mjx-mtr" id="MJXc-Node-2543" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: table-row; height: 1.2em;"><span class="mjx-mtd" id="MJXc-Node-2544" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: table-cell; padding: 0.2em 0.5em 0px 0px; text-align: center;"><span class="mjx-mrow" id="MJXc-Node-2545" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-top: -0.2em; text-align: left;"><span class="mjx-mn" id="MJXc-Node-2546" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.37em; padding-top: 0.37em; white-space: pre;">0</span></span><span class="mjx-strut" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; padding-top: 1em; width: 0px;"></span></span></span><span class="mjx-mtd" id="MJXc-Node-2547" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: table-cell; padding: 0.2em 0.5em 0px; text-align: center;"><span class="mjx-mrow" id="MJXc-Node-2548" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-top: -0.2em; text-align: left;"><span class="mjx-mn" id="MJXc-Node-2549" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.37em; padding-top: 0.37em; white-space: pre;">0</span></span><span class="mjx-strut" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; padding-top: 1em; width: 0px;"></span></span></span><span class="mjx-mtd" id="MJXc-Node-2550" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: table-cell; padding: 0.2em 0px 0px 0.5em; text-align: center;"><span class="mjx-mrow" id="MJXc-Node-2551" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-top: -0.2em; text-align: left;"><span class="mjx-mn" id="MJXc-Node-2552" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.37em; white-space: pre;">1</span></span><span class="mjx-strut" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; padding-top: 1em; width: 0px;"></span></span></span></span></span></span><span class="mjx-mo" id="MJXc-Node-2553" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; vertical-align: -0.981em;"><span class="mjx-delim-v" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-size4-R" face="MJXc-TeX-size4-R, MJXc-TeX-size4-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.948em; padding-top: 0.948em; white-space: pre;">⎤</span><span class="mjx-char MJXc-TeX-size4-R" face="MJXc-TeX-size4-R, MJXc-TeX-size4-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; line-height: 0.202em; margin-bottom: -0.101em; margin-top: 0px; white-space: pre;">⎥</span><span class="mjx-char MJXc-TeX-size4-R" face="MJXc-TeX-size4-R, MJXc-TeX-size4-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.895em; padding-top: 0.948em; white-space: pre;">⎦</span></span></span></span></span></span><span class="MJX_Assistive_MathML MJX_Assistive_MathML_Block" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 141.852px;"><math display="block" xmlns="http://www.w3.org/1998/Math/MathML"><msub><mrow class="MJX-TeXAtom-ORD"><mi class="MJX-tex-caligraphic" mathvariant="script">I</mi></mrow><mn>3</mn></msub><mo>=</mo><mrow><mo>[</mo><mtable columnspacing="1em" rowspacing="4pt"><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable><mo>]</mo></mrow></math></span></span></span></span></p></div><p class="part in-view" data-endline="104" data-position="3155" data-size="0" data-startline="104" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="3155" data-size="208" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">原因是,對角線方向的 feature 是這兩張圖產生的 vector 與 vector 之間對於同一張圖片的相同特徵處的對應點,透過 Loss function 讓他們越接近 Identity 的好處是可以讓模型訓練時,可以分別聚焦在不同特徵的特性上,而不是讓整張 matrix 產生出來的圖片長得像就好,可以更聚焦在學習"特徵本身"上,這麼做的好處,以 “聚焦在特徵上” 的策略來得到增強 diversity 效果</span></p><p class="part in-view" data-endline="107" data-position="3366" data-size="0" data-startline="107" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="3366" data-size="44" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">以上是我個人學習筆記與心得,如有錯誤之處,歡迎路過的大大們不吝留言指教與討論,謝謝大家~</span></p><p class="part in-view" data-endline="112" data-position="2503" data-size="0" data-startline="110" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; margin: 0px 0px 16px;"><span face="-apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"" style="background-color: transparent; color: #333333; letter-spacing: 0.35px;">相關文章整理</span></p><h4 style="color: #333333; font-family: -apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px;"><ul><li><a href="https://violin-tao.blogspot.com/2017/07/ml-introduction-of-deep-learning.html" target="_blank">[ML筆記] Introduction of Deep Learning</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-backpropagation.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Backpropagation</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-tips-for-training-dnn.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Tips for Training DNN</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-convolutional-neural-network-cnn.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Convolutional Neural Network (CNN)</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-why-deep.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Why Deep?</a></li><li><a href="https://violin-tao.blogspot.com/2018/02/ml-batch-normalization.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Batch Normalization</a></li></ul><div></div></h4><p class="part in-view" data-endline="112" data-position="2503" data-size="0" data-startline="110" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2529" data-size="13" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span></p><p class="part in-view" data-endline="107" data-position="3366" data-size="0" data-startline="107" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="3366" data-size="44" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span></p><h4 style="color: #333333; font-family: -apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px;"><ul><li><a href="https://violin-tao.blogspot.com/2017/12/ml-recurrent-neural-network-rnn-part-i.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Recurrent Neural Network (RNN) - Part I</a><span style="letter-spacing: 0.35px;"> (圖解概念說明版本)</span></li><li><a href="https://violin-tao.blogspot.com/2018/01/ml-recurrent-neural-network-rnn-part-ii.html" target="_blank">[ML筆記] Recurrent Neural Network (RNN) - Part II</a> (圖解概念說明版本)</li><li><a href="https://violin-tao.blogspot.com/2019/08/rnn.html" target="_blank">RNN 筆記 - 基礎架構</a> (數學式探討版本)</li><li><a href="https://violin-tao.blogspot.com/2019/08/rnn_4.html" style="letter-spacing: 0.35px;" target="_blank">RNN 筆記 - 損失函數與反向傳遞演算</a> (數學式探討版本)</li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-self-attention.html">[ML 筆記] Self-attention (上)</a></li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-self-attention_2.html">[ML 筆記] Self-attention (下)</a></li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-transformer.html">[ML 筆記] Transformer (上)</a></li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-transformer_13.html">[ML 筆記] Transformer (下)</a></li><li><a href="https://violin-tao.blogspot.com/2022/11/3d-vision.html">[ML 筆記] 3D Vision </a></li><li><a href="https://violin-tao.blogspot.com/2022/12/ml-self-supervised-learning-ssl.html">[ML 筆記] Self-Supervised Learning (SSL)</a></li></ul></h4>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-79302224163206751932022-11-21T20:02:00.005-08:002022-12-06T20:15:17.816-08:00[ML筆記] 3D Vision <p> </p><h1 class="part" data-endline="1" data-id="DLCV-week-12-3D-Vision" data-startline="1" id="DLCV-week-12-3D-Vision" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 16px; padding-bottom: 0.3em;"><span data-position="2" data-size="22" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">3D Vision</span></h1><h6 class="part" data-endline="2" data-id="tags-AIML" data-startline="2" id="tags-AIML" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #777777; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 0.85em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/YTQ2xqpHRoafXqwHddOOvg?view#tags-AIML" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="tags-AIML"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a></h6><p class="part" data-endline="5" data-position="47" data-size="0" data-startline="4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="47" data-size="22" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">1. 本篇是台大電機王鈺強老師 DLCV 課程筆記</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="70" data-size="15" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">2. 課程網站: </span><a href="http://vllab.ee.ntu.edu.tw/dlcv.html" rel="noopener" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration-line: none;" target="_blank">http://vllab.ee.ntu.edu.tw/dlcv.html</a><br />3. 本篇主要紀錄 3D Vision 領域相關的技術概念</p><h2 class="part" data-endline="7" data-id="如何表示-3D-的影像" data-startline="7" id="如何表示-3D-的影像" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/YTQ2xqpHRoafXqwHddOOvg?view#%E5%A6%82%E4%BD%95%E8%A1%A8%E7%A4%BA-3D-%E7%9A%84%E5%BD%B1%E5%83%8F" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="如何表示-3D-的影像"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="126" data-size="12" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">如何表示 3D 的影像?</span></h2><ul class="part" data-endline="15" data-startline="8" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="8" data-position="141" data-size="0" data-startline="8" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span data-position="141" data-size="43" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Multi-view RGB-D images 用超多不同角度的圖片表示,加入深度資訊</span></li><li data-endline="9" data-position="187" data-size="0" data-startline="9" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="187" data-size="33" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Voxels 用一格小方塊小方塊去紀錄,物體是否有佔據這個空間位置</span></li><li data-endline="10" data-position="223" data-size="0" data-startline="10" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="223" data-size="21" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Polygen Mesh 利用很多小三角形<span><a name='more'></a></span></span></li><li data-endline="15" data-position="247" data-size="0" data-startline="11" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="247" data-size="18" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Point Cloud 一堆點的集合</span><ul style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; margin-bottom: 0px; margin-top: 0px; padding-left: 2em;"><li data-endline="12" data-position="272" data-size="0" data-startline="12" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span data-position="272" data-size="37" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">set of points 每個 point 是一個 (x,y,z) 座標</span></li><li data-endline="15" data-position="316" data-size="0" data-startline="13" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="316" data-size="23" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">至於 set 裡面每個點存放的順序不影響整張圖</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="340" data-size="30" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">因此對於同一張3D圖,資料點存放的順序資訊可能會有很大的差異</span></li></ul></li></ul><h2 class="part" data-endline="16" data-id="3D-Perception" data-startline="16" id="3D-Perception" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/YTQ2xqpHRoafXqwHddOOvg?view#3D-Perception" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="3D-Perception"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="381" data-size="13" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">3D Perception</span></h2><p class="part" data-endline="18" data-position="396" data-size="0" data-startline="18" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="396" data-size="24" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">想想看 CNN 是否可以用在以下 3D 資料當中</span></p><ol class="part" data-endline="30" data-original-title="" data-position="421" data-size="0" data-startline="19" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;" title=""><li data-endline="21" data-position="424" data-size="0" data-startline="19" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span data-position="425" data-size="30" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Multi-view RGB-D images -> 可以</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="457" data-size="21" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">因為 input 就是一串 set 的影像</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="480" data-size="42" height="300" loading="lazy" src="https://i.imgur.com/uF8U9LF.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></li><li data-endline="24" data-position="532" data-size="0" data-startline="22" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="532" data-size="19" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Voxels 用很多小格子 -> 可以</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="553" data-size="12" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">但要做不同方向的 CNN</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="567" data-size="42" height="300" loading="lazy" src="https://i.imgur.com/gcDEtA5.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></li><li data-endline="26" data-position="619" data-size="0" data-startline="25" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="619" data-size="10" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Mesh -> 不行</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="631" data-size="42" height="250" loading="lazy" src="https://i.imgur.com/whpvsRi.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></li><li data-endline="30" data-position="680" data-size="0" data-startline="27" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="680" data-size="17" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Point Cloud -> 不行</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="699" data-size="42" height="280" loading="lazy" src="https://i.imgur.com/EK5INZQ.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></li></ol><h2 class="part" data-endline="31" data-id="Multi-view-Images" data-startline="31" id="Multi-view-Images" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/YTQ2xqpHRoafXqwHddOOvg?view#Multi-view-Images" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Multi-view-Images"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="750" data-size="17" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Multi-view Images</span></h2><p class="part" data-endline="34" data-position="768" data-size="0" data-startline="32" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="769" data-size="14" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Multi-View(MV)</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="784" data-size="6" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">MVCNN:</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="791" data-size="36" loading="lazy" src="https://i.imgur.com/A2Iuwp8.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h2 class="part" data-endline="36" data-id="Voxels" data-startline="36" id="Voxels" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/YTQ2xqpHRoafXqwHddOOvg?view#Voxels" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Voxels"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="832" data-size="6" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Voxels</span></h2><p class="part" data-endline="40" data-position="840" data-size="0" data-startline="37" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="840" data-size="35" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">用很多小方塊來表示物體,如果物體有出現在方塊中就記錄為 1 反之為 0</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="876" data-size="42" height="300" loading="lazy" src="https://i.imgur.com/gcDEtA5.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="919" data-size="27" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">可以做 x,y,z 三個方向的 Convolution</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="947" data-size="42" height="300" loading="lazy" src="https://i.imgur.com/PPlSd7l.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part" data-endline="43" data-position="991" data-size="0" data-startline="42" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="991" data-size="25" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">但需要花很多 memory 去存每一個 voxel</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="1017" data-size="36" loading="lazy" src="https://i.imgur.com/sQeDeUU.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h2 class="part" data-endline="46" data-id="Point-Cloud" data-startline="46" id="Point-Cloud" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/YTQ2xqpHRoafXqwHddOOvg?view#Point-Cloud" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Point-Cloud"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1059" data-size="11" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Point Cloud</span></h2><p class="part" data-endline="47" data-position="1071" data-size="0" data-startline="47" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1071" data-size="2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">特性</span></p><ol class="part" data-endline="53" data-position="1074" data-size="0" data-startline="48" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="48" data-position="1077" data-size="0" data-startline="48" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span data-position="1077" data-size="13" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Set of points</span></li><li data-endline="49" data-position="1094" data-size="0" data-startline="49" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="1094" data-size="14" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">un-ordered set</span></li><li data-endline="53" data-position="1112" data-size="0" data-startline="50" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; padding-top: 0.25em;"><span data-position="1112" data-size="18" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">each point (x,y,z)</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1132" data-size="16" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">因此如果有 N 個點,就是一個 </span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><mi>N</mi><mo>&#x00D7;</mo><mn>3</mn></math>" id="MathJax-Element-1-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-2" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mi" id="MJXc-Node-3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.085em; padding-top: 0.475em; white-space: pre;">N</span></span><span class="mjx-mo MJXc-space2" id="MJXc-Node-4" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.222em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.318em; padding-top: 0.213em; white-space: pre;">×</span></span><span class="mjx-mn MJXc-space2" id="MJXc-Node-5" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block; margin-left: 0.222em;"><span class="mjx-char MJXc-TeX-main-R" face="MJXc-TeX-main-R, MJXc-TeX-main-Rw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.37em; padding-top: 0.37em; white-space: pre;">3</span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>N</mi><mo>×</mo><mn>3</mn></math></span></span></span><span data-position="1158" data-size="7" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> matrix</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="1166" data-size="36" loading="lazy" src="https://i.imgur.com/SPo2WxH.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></li></ol><h2 class="part" data-endline="54" data-id="PointNet" data-startline="54" id="PointNet" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/YTQ2xqpHRoafXqwHddOOvg?view#PointNet" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="PointNet"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1210" data-size="8" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">PointNet</span></h2><p class="part" data-endline="55" data-position="1219" data-size="0" data-startline="55" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1219" data-size="18" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">處理 Point Cloud 的資訊</span></p><p class="part" data-endline="60" data-position="1239" data-size="0" data-startline="57" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><img alt="" data-position="1239" data-size="36" loading="lazy" src="https://i.imgur.com/1RKxvaR.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1276" data-size="27" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">input N 個點,每個點維度是 3 (x,y,z)</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1304" data-size="34" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">把 N 個點過很多 NLP 轉換成 1024 維度的 feature</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1339" data-size="26" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">再對每一個 feature 維度去做 pooling</span></p><p class="part" data-endline="62" data-position="1368" data-size="0" data-startline="62" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1368" data-size="13" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">限制:沒有辦法描述顏色資訊</span></p><h2 class="part" data-endline="65" data-id="3D-R2N2-for-Voxel-Reconstruction" data-startline="65" id="3D-R2N2-for-Voxel-Reconstruction" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/YTQ2xqpHRoafXqwHddOOvg?view#3D-R2N2-for-Voxel-Reconstruction" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="3D-R2N2-for-Voxel-Reconstruction"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1387" data-size="32" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">3D R2N2 for Voxel Reconstruction</span></h2><p class="part" data-endline="69" data-position="1420" data-size="0" data-startline="66" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1420" data-size="52" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">3D Recurrent Reconstruction Neural Network (3D-R2N2)</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1473" data-size="29" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">利用 auto encoder 搭配 LSTM 來重建影像</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1503" data-size="49" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">這樣的好處是,input 可以同時支援 single image 與 multiple image</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="1553" data-size="36" loading="lazy" src="https://i.imgur.com/V0XzaxT.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part" data-endline="71" data-position="1591" data-size="0" data-startline="71" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><img alt="" data-position="1591" data-size="36" loading="lazy" src="https://i.imgur.com/m34UmAH.jpg" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h2 class="part" data-endline="73" data-id="Point-Set-Generation" data-startline="73" id="Point-Set-Generation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/YTQ2xqpHRoafXqwHddOOvg?view#Point-Set-Generation" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Point-Set-Generation"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1633" data-size="20" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Point Set Generation</span></h2><p class="part" data-endline="77" data-position="1653" data-size="0" data-startline="74" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1653" data-size="15" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">目標: input 2D 影像</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1669" data-size="23" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">output: 3D 影像 point set</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="1693" data-size="42" height="180" loading="lazy" src="https://i.imgur.com/Qcm9o1K.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="1736" data-size="36" loading="lazy" src="https://i.imgur.com/cXP1z74.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part" data-endline="86" data-position="1774" data-size="0" data-startline="79" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1774" data-size="31" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Loss function: Chamfer distance</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1806" data-size="22" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">S1, S2 代表兩個 set 兩個點集合</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1829" data-size="23" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">S1 代表 prediction output</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1853" data-size="25" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">S2 代表 ground truth output</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="1879" data-size="42" height="250" loading="lazy" src="https://i.imgur.com/axwubzK.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1922" data-size="28" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">分別去看對於 S2 裡面每個點跟 S1 裡面每個點的距離</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1951" data-size="27" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">以及 對於 S1 裡面每個點跟 S2 裡面每個點的距離</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="1979" data-size="24" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">這樣的好處是, S1 跟 S2 的維度可以不同!</span></p><p class="part" data-endline="88" data-position="2005" data-size="0" data-startline="88" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><img alt="" data-position="2005" data-size="36" loading="lazy" src="https://i.imgur.com/ndbEBlm.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h2 class="part" data-endline="90" data-id="NeRF-Representing-Scenes-as-Neural-Radiance-Field" data-startline="90" id="NeRF-Representing-Scenes-as-Neural-Radiance-Field" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/YTQ2xqpHRoafXqwHddOOvg?view#NeRF-Representing-Scenes-as-Neural-Radiance-Field" smoothhashscroll="" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="NeRF-Representing-Scenes-as-Neural-Radiance-Field"><span class="octicon octicon-link" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="2046" data-size="50" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">NeRF: Representing Scenes as Neural Radiance Field</span></h2><p class="part in-view" data-endline="95" data-position="2097" data-size="0" data-startline="91" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2098" data-size="3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">目標:</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="2102" data-size="8" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">給幾個視角的影像</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="2111" data-size="27" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">要把背後的 implicit function 找出來</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="2139" data-size="11" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">然後生成其他視角的樣子</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="2151" data-size="8" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">perform </span><span data-position="2159" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">novel view synthesis</span></p><p class="part in-view" data-endline="98" data-position="2185" data-size="0" data-startline="97" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2168" data-size="6" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Input:</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="2175" data-size="20" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">multi-view images + </span><span data-position="2195" data-size="0" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-weight: 700;">camera poses</span></p><p class="part in-view" data-endline="101" data-position="2231" data-size="0" data-startline="100" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2214" data-size="7" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">Output:</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="2222" data-size="41" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">3D representation (neural radiance field)</span></p><p class="part in-view" data-endline="103" data-position="2283" data-size="0" data-startline="103" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><img alt="" data-position="2265" data-size="36" loading="lazy" src="https://i.imgur.com/4Fxkmjo.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part in-view" data-endline="108" data-position="2321" data-size="0" data-startline="105" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2321" data-size="10" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">給空間中的點,加上 </span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><mi>&#x03B8;</mi></math>" id="MathJax-Element-52-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-226" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-227" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mi" id="MJXc-Node-228" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-top: 0.475em; white-space: pre;">θ</span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>θ</mi></math></span></span></span><span data-position="2339" data-size="3" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 跟 </span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><mi>&#x03D5;</mi></math>" id="MathJax-Element-53-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-229" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-230" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mi" id="MJXc-Node-231" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.475em; padding-top: 0.475em; white-space: pre;">ϕ</span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>ϕ</mi></math></span></span></span><span data-position="2348" data-size="8" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 代表角度資訊,</span><span class="mathjax" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"><span class="MathJax_Preview" color="inherit" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span><span class="mjx-chtml MathJax_CHTML" data-mathml="<math xmlns="http://www.w3.org/1998/Math/MathML"><mi>&#x03C3;</mi></math>" id="MathJax-Element-54-Frame" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; direction: ltr; display: inline-block; float: none; font-size: 19.04px; letter-spacing: normal; line-height: 0; margin: 0px; max-height: none; max-width: none; min-height: 0px; min-width: 0px; overflow-wrap: normal; padding: 1px 0px; position: relative; white-space: nowrap; word-spacing: normal;" tabindex="0"><span aria-hidden="true" class="mjx-math" id="MJXc-Node-232" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-collapse: separate; border-spacing: 0px; box-sizing: border-box; display: inline-block;"><span class="mjx-mrow" id="MJXc-Node-233" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-mi" id="MJXc-Node-234" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: inline-block;"><span class="mjx-char MJXc-TeX-math-I" face="MJXc-TeX-math-I, MJXc-TeX-math-Ix, MJXc-TeX-math-Iw" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: content-box; display: block; padding-bottom: 0.265em; padding-right: 0.001em; padding-top: 0.213em; white-space: pre;">σ</span></span></span></span><span class="MJX_Assistive_MathML" role="presentation" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: border-box; clip: rect(1px, 1px, 1px, 1px); display: block; height: 1px; left: 0px; overflow: hidden; padding: 1px 0px 0px; position: absolute; top: 0px; user-select: none; width: 1px;"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>σ</mi></math></span></span></span><span data-position="2364" data-size="10" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"> 跟空間中的位置有關</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="2375" data-size="36" loading="lazy" src="https://i.imgur.com/1aCZSKr.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="2412" data-size="52" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">過一個 Deep learning 的 Function 去學中間的 implicit function</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><img alt="" data-position="2465" data-size="36" loading="lazy" src="https://i.imgur.com/qaPsmYV.png" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part in-view" data-endline="112" data-position="2503" data-size="0" data-startline="110" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2503" data-size="9" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">NeRF 的限制:</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="2513" data-size="15" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">只能 train 在同一個場景</span><br style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;" /><span data-position="2529" data-size="13" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;">需要同一個場景下多角度圖片</span></p><p class="part in-view" data-endline="112" data-position="2503" data-size="0" data-startline="110" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; margin: 0px 0px 16px;"><span face="-apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"" style="color: #333333; font-size: 16px; letter-spacing: 0.35px;">關於 NeRF 的詳細設計附上 Paper 連結</span></p><p class="part in-view" data-endline="112" data-position="2503" data-size="0" data-startline="110" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span face="-apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"" style="letter-spacing: 0.35px;"><a href="https://arxiv.org/pdf/2003.08934.pdf">https://arxiv.org/pdf/2003.08934.pdf</a></span></p><p class="part in-view" data-endline="112" data-position="2503" data-size="0" data-startline="110" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><br /></p><p class="part in-view" data-endline="112" data-position="2503" data-size="0" data-startline="110" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; margin: 0px 0px 16px;"><span face="-apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"" style="background-color: transparent; color: #333333; letter-spacing: 0.35px;">相關文章整理</span></p><h4 style="color: #333333; font-family: -apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px;"><ul><li><a href="https://violin-tao.blogspot.com/2017/07/ml-introduction-of-deep-learning.html" target="_blank">[ML筆記] Introduction of Deep Learning</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-backpropagation.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Backpropagation</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-tips-for-training-dnn.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Tips for Training DNN</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-convolutional-neural-network-cnn.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Convolutional Neural Network (CNN)</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-why-deep.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Why Deep?</a></li><li><a href="https://violin-tao.blogspot.com/2018/02/ml-batch-normalization.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Batch Normalization</a></li></ul><div></div></h4><p class="part in-view" data-endline="112" data-position="2503" data-size="0" data-startline="110" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2529" data-size="13" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span></p><p class="part in-view" data-endline="107" data-position="3366" data-size="0" data-startline="107" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="3366" data-size="44" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span></p><h4 style="color: #333333; font-family: -apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px;"><ul><li><a href="https://violin-tao.blogspot.com/2017/12/ml-recurrent-neural-network-rnn-part-i.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Recurrent Neural Network (RNN) - Part I</a><span style="letter-spacing: 0.35px;"> (圖解概念說明版本)</span></li><li><a href="https://violin-tao.blogspot.com/2018/01/ml-recurrent-neural-network-rnn-part-ii.html" target="_blank">[ML筆記] Recurrent Neural Network (RNN) - Part II</a> (圖解概念說明版本)</li><li><a href="https://violin-tao.blogspot.com/2019/08/rnn.html" target="_blank">RNN 筆記 - 基礎架構</a> (數學式探討版本)</li><li><a href="https://violin-tao.blogspot.com/2019/08/rnn_4.html" style="letter-spacing: 0.35px;" target="_blank">RNN 筆記 - 損失函數與反向傳遞演算</a> (數學式探討版本)</li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-self-attention.html">[ML 筆記] Self-attention (上)</a></li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-self-attention_2.html">[ML 筆記] Self-attention (下)</a></li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-transformer.html">[ML 筆記] Transformer (上)</a></li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-transformer_13.html">[ML 筆記] Transformer (下)</a></li><li><a href="https://violin-tao.blogspot.com/2022/11/3d-vision.html">[ML 筆記] 3D Vision </a></li><li><a href="https://violin-tao.blogspot.com/2022/12/ml-self-supervised-learning-ssl.html">[ML 筆記] Self-Supervised Learning (SSL)</a></li></ul></h4>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-86911657849088579092022-10-26T00:58:00.004-07:002022-12-17T00:05:19.386-08:00[採譜] 使用 ABC Notation 採譜 周杰倫 - 紅顏如霜<p>本篇是 ABC Notation 用法筆記系列的第三篇(關於ABC Notation 是啥請見 Wiki: <a href="https://zh.wikipedia.org/zh-tw/ABC%E8%AE%B0%E8%B0%B1%E6%B3%95">ABC 記譜法</a>)</p><p>這次我以周杰倫前幾天發布的新歌"紅顏如霜"為例,做採譜與ABC Notation用法說明</p><p>之前紀錄過的用法就不贅述,因此可以先參考我先前的兩篇筆記: </p><p></p><ul style="text-align: left;"><li><a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html">[筆記] Markdown 打譜 - ABC notation 初體驗</a></li><li><a href="https://violin-tao.blogspot.com/2022/10/abc-notation.html">[筆記] 使用 ABC Notation 採譜 周杰倫 - 最偉大的作品</a></li></ul><p></p><p>本篇新增的重點:裝飾音的用法,舉例說明基本節奏與音符拍子長度的設定,反向附點音符</p><p>以下為 ABC Notation Code 與說明</p><p>前奏旋律(melody part):</p><p></p><pre class="part" data-endline="35" data-startline="18" style="background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; overflow-wrap: normal; overflow: auto; padding: 16px; position: relative; word-break: break-all;"><code style="background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">```abc
X:1
T: 周杰倫 - 紅顏如霜 (前奏)
T: (melody)
L:1/4
K: Bb
{F,1G,1B,1CDFGBcdfgbc'}| d'2 z1/4B1/4F1/4G1/4 B1/4{c}d1/4c1/4B1/4| c2 z1/4{gf}d1/4c1/4d1/4 c1/4B1/4G1/4F1/4 | B2 c2 | d>{FFF}F F1/4G1/4B1/4c1/4 d1/4f1/4g1/4b1/4 |
f2 z1/4B1/4F1/4G1/4 B1/4{c}d1/4c1/4B1/4| c2 z1/4{gf}d1/4c1/4d1/4 c1/4B1/4G1/4F1/4 | B2 z1/2G1/2c1 | B4 |
```</code></pre>前奏和聲分析(chord analysis part):<pre class="part" data-endline="35" data-startline="18" style="background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; overflow-wrap: normal; overflow: auto; padding: 16px; position: relative; word-break: break-all;"><code style="background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">```abc
X:1
T: 周杰倫 - 紅顏如霜 (前奏)
T: (chord analysis)
L:1/1
K: Bb
"Ebmaj9"[EGBdf] | "Dm(b13)"[DBcf] | "Cm11"[CGBf]1/2 "F7(9,11)"[FGBf]1/2| "Bbmaj9"[B,1Fcf]1/2 "Bb"[B,1FBd]1/4 "Bb7"[B,1F_Ad]1/4 |
"Ebmaj9"[EGBdf] | "Dm(b13)"[DBcf] | "Cm11"[CGBf]1/2 "Cm7"[CGBe]1/2| "Bbmaj9"[B,1Fcf]1/2 "Bb"[B,1FBd]1/2 |
```</code></pre><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhusGR9k-zqTYkVBW9oKiEtuu7odWx_SVF3dw1TQ-6G69KMQ08SxM1nbkuJ68jlTpPs9r-MPO0E8Tia-vXDmDPe3nzmiiUYUvfDJPXBZjioHj2AGH75K293WO4pmp5HrNUbbPF6xwF3xw8VUJBvmeW2Y3gi3VzkstvPaWJda_x9MIAtfcsQuj1WHQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="970" data-original-width="1552" height="400" src="https://blogger.googleusercontent.com/img/a/AVvXsEhusGR9k-zqTYkVBW9oKiEtuu7odWx_SVF3dw1TQ-6G69KMQ08SxM1nbkuJ68jlTpPs9r-MPO0E8Tia-vXDmDPe3nzmiiUYUvfDJPXBZjioHj2AGH75K293WO4pmp5HrNUbbPF6xwF3xw8VUJBvmeW2Y3gi3VzkstvPaWJda_x9MIAtfcsQuj1WHQ=w640-h400" width="640" /></a></div><br />Note:<p></p><p>1. 裝飾音的用法(圖中橘色部分): 使用大括弧 { } 將想要當做裝飾音的內容刮起來 </p><p>2. 基本節奏與音符長度設定(圖中淺藍色部分):</p><p> 2-1. 當你的基本節奏設定為四分音符 L:1/4 時,音符長度的 1/2 就是八分音符,例如:G1/2</p><p> 2-2. 當你的基本節奏設定為全音符 L:1/1 時,音符長度的 1/2 就是二分音符,例如:G1/2</p><p>3. 反向附點 (見下圖綠色部分):在兩個音之間使用 < 符號</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiEbL9XcT4qiyxfF0j8vxBWBL2eve308tljDNrScgct2XbROxjyNHWeboKqXn5vxhyxabjZBABNSE3ZQZ5B4lyH5MVZu3hY_ZCs99nuNOtYBQHVs0mGTlTQeaA-UV6imdRtcpsePPhQV0mpgcr1hyBMx7cGWHjaK2trRVPyA_6frBaTBsVxUPsTAA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="697" data-original-width="1509" height="296" src="https://blogger.googleusercontent.com/img/a/AVvXsEiEbL9XcT4qiyxfF0j8vxBWBL2eve308tljDNrScgct2XbROxjyNHWeboKqXn5vxhyxabjZBABNSE3ZQZ5B4lyH5MVZu3hY_ZCs99nuNOtYBQHVs0mGTlTQeaA-UV6imdRtcpsePPhQV0mpgcr1hyBMx7cGWHjaK2trRVPyA_6frBaTBsVxUPsTAA=w640-h296" width="640" /></a></div><br />周杰倫 - 紅顏如霜 完整 MV:<p></p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="367" src="https://www.youtube.com/embed/APgx1k-2Tqc" width="441" youtube-src-id="APgx1k-2Tqc"></iframe></div><br /><p>最後附上我完整的採譜,分享給大家 </p><p><b>周杰倫 - 紅顏如霜,各段落旋律:</b></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh-eHBW1JrgAXW5J_HD5Kr5T4SGW5uXnQP75U-2dP6R4WWo3xVdyA2jmh06vudLZ56UPCJ5cDqLk1LeBjUT-1qj8TQG03jN23G7_9V1jDa7fBfFYEeZlAB7glG8E4B-5rCQRb_oCBSCNcM_wkL2e8IlOedS2QMoQWLQuuDHdM_qXhUCWkqA7HpZbg" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="532" data-original-width="1430" height="238" src="https://blogger.googleusercontent.com/img/a/AVvXsEh-eHBW1JrgAXW5J_HD5Kr5T4SGW5uXnQP75U-2dP6R4WWo3xVdyA2jmh06vudLZ56UPCJ5cDqLk1LeBjUT-1qj8TQG03jN23G7_9V1jDa7fBfFYEeZlAB7glG8E4B-5rCQRb_oCBSCNcM_wkL2e8IlOedS2QMoQWLQuuDHdM_qXhUCWkqA7HpZbg=w640-h238" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEijWr2g9R8xwo2fOHxj97B1ocLhTWGox7FBiKhhP8fTZM5vV8Juyws7qm1d5_0nAhUYXjSDwWp2_RVAKl8mmxyy3Ti3ErIG-MFqbZ1leW-ZZePhMyJ9aXH7ynBloOtTFNlBNt8zFdrHNJiIcrBe9JxJ58wxDNz5ptVPQGSQnPwadsayNCuhKiLWNw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1166" data-original-width="1416" height="528" src="https://blogger.googleusercontent.com/img/a/AVvXsEijWr2g9R8xwo2fOHxj97B1ocLhTWGox7FBiKhhP8fTZM5vV8Juyws7qm1d5_0nAhUYXjSDwWp2_RVAKl8mmxyy3Ti3ErIG-MFqbZ1leW-ZZePhMyJ9aXH7ynBloOtTFNlBNt8zFdrHNJiIcrBe9JxJ58wxDNz5ptVPQGSQnPwadsayNCuhKiLWNw=w640-h528" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiwnOLPfhivq-VgtJnJRwQL47OOi3CN3L5laA3UU2KXs3nrIdgH7Ie4ZwstKm_i5_ELuVsEeLj4B2yVJYm-MJbwb35JIxjW5eThPDvEPQP06x6ad5dF_Ei1g7fAO6k3mekEraJnfk6xHmmF3qLRocU8vkpFfzuFgIuITMeFLpqK9oXQgqeVeT3kUA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="354" data-original-width="1392" height="162" src="https://blogger.googleusercontent.com/img/a/AVvXsEiwnOLPfhivq-VgtJnJRwQL47OOi3CN3L5laA3UU2KXs3nrIdgH7Ie4ZwstKm_i5_ELuVsEeLj4B2yVJYm-MJbwb35JIxjW5eThPDvEPQP06x6ad5dF_Ei1g7fAO6k3mekEraJnfk6xHmmF3qLRocU8vkpFfzuFgIuITMeFLpqK9oXQgqeVeT3kUA=w640-h162" width="640" /></a></div><br /></div><p></p><p><b>周杰倫 - 紅顏如霜,各段落和聲分析:</b></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg31pxi0UNwtQ5piiNw6kBADlWj3Yo88_JTFqQqHmDwL7nvhMsvyJLWZqWI2FKP5GkKKD2Acm6vRXjOMTIWhuBjDbcvU7GzgtDIs4OsuUmVPYe1Exbeh3t2eh0Q7v4wGgyV-mT2lLS44DEJEkZDP2LnWbPMaqK6tePFYXhuY90A6pTDTwzi3U9rOQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="522" data-original-width="1394" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEg31pxi0UNwtQ5piiNw6kBADlWj3Yo88_JTFqQqHmDwL7nvhMsvyJLWZqWI2FKP5GkKKD2Acm6vRXjOMTIWhuBjDbcvU7GzgtDIs4OsuUmVPYe1Exbeh3t2eh0Q7v4wGgyV-mT2lLS44DEJEkZDP2LnWbPMaqK6tePFYXhuY90A6pTDTwzi3U9rOQ=w640-h240" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiLWzeVnT65exYnJyaqkzSo1Qlb30Xt11_He053AjAjtW0Vnc8VjUhviUfbITN2ddGulNSnrAhvEPYtMX7MmRnkFawvWN53VbUGbyg3Mcjs_i5_zaTnvvZMppkmpTVVyLM7aevMhXRDaxySObVs0JjcP8lu13UvykgwytTQuEnZpZN4ZBi4vScR0w" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1182" data-original-width="1394" height="543" src="https://blogger.googleusercontent.com/img/a/AVvXsEiLWzeVnT65exYnJyaqkzSo1Qlb30Xt11_He053AjAjtW0Vnc8VjUhviUfbITN2ddGulNSnrAhvEPYtMX7MmRnkFawvWN53VbUGbyg3Mcjs_i5_zaTnvvZMppkmpTVVyLM7aevMhXRDaxySObVs0JjcP8lu13UvykgwytTQuEnZpZN4ZBi4vScR0w=w640-h543" width="640" /></a></div><p></p><h3><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj34-SviHoa-3SVAgxXQV0DzdS9JV2TL6GUR9Yd3iOivIXcRLtBhr4XNcAGwNYLhK8ztMnK3k08tCkwfw3Mrb2kJLLY1RiWO1MQW2qYq3MfNqjbg6_SaCQ8-BQUfn8xn1NE24gzRGgS_ay4FKlJqb53mCQ5QNKew9hJ8zzkzKNBgBbi5wGF7jueBA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="542" data-original-width="1410" height="246" src="https://blogger.googleusercontent.com/img/a/AVvXsEj34-SviHoa-3SVAgxXQV0DzdS9JV2TL6GUR9Yd3iOivIXcRLtBhr4XNcAGwNYLhK8ztMnK3k08tCkwfw3Mrb2kJLLY1RiWO1MQW2qYq3MfNqjbg6_SaCQ8-BQUfn8xn1NE24gzRGgS_ay4FKlJqb53mCQ5QNKew9hJ8zzkzKNBgBbi5wGF7jueBA=w640-h246" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhKaivaj6xZUdjNk_6c-k1eNpSnmbaGJPjiF6ohxCv3nlx3TDzl9KYOr0j-fhD1VcMmMwWBvhcTN0n47ehDfg81dul1vBhpEu2jngsxaEuKLvBKDYfpxGe6TbLVFsUXlFgF-1MEnOw7dF2JG_lkJr0aFRW-LoQao8H3mmNClHBH7k3c1tGe7MXhoQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="520" data-original-width="1380" height="242" src="https://blogger.googleusercontent.com/img/a/AVvXsEhKaivaj6xZUdjNk_6c-k1eNpSnmbaGJPjiF6ohxCv3nlx3TDzl9KYOr0j-fhD1VcMmMwWBvhcTN0n47ehDfg81dul1vBhpEu2jngsxaEuKLvBKDYfpxGe6TbLVFsUXlFgF-1MEnOw7dF2JG_lkJr0aFRW-LoQao8H3mmNClHBH7k3c1tGe7MXhoQ=w640-h242" width="640" /></a></div><br /></div></h3><h3>相關文章整理</h3><h3><p class="part in-view" data-endline="76" data-position="1541" data-size="0" data-startline="76" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; font-weight: 400; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1543" data-size="20" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span></p><ul style="font-size: medium; font-weight: 400;"><a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html" target="_blank"></a><li><b><a href="https://violin-tao.blogspot.com/2018/07/musescore.html" target="_blank">[筆記] Musescore 打譜軟體使用備忘錄</a></b><a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html" target="_blank"></a></li><li><a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html" target="_blank"><b>[筆記] Markdown 打譜 - ABC notation 初體驗</b></a></li><li><a href="https://violin-tao.blogspot.com/2022/10/abc-notation.html" target="_blank"><b>[筆記] 使用 ABC Notation 採譜 周杰倫 - 最偉大的作品</b></a></li><li><a href="https://violin-tao.blogspot.com/2022/10/abc-notation_26.html" target="_blank"><b>[採譜] 使用 ABC Notation 採譜 周杰倫 - 紅顏如霜</b></a></li><li><b><a href="https://violin-tao.blogspot.com/2022/12/abc-notation-machinedrum-infinite-us.html">[採譜] 使用 ABC Notation 採譜 Machinedrum - Infinite Us</a></b></li><li><a href="https://violin-tao.blogspot.com/2022/07/violin-transcription-by-yuntao.html" target="_blank"><b>[採譜] 周杰倫 - 最偉大的作品 violin transcription by yuntao</b></a></li><li><b><a href="https://violin-tao.blogspot.com/2015/02/ableton-live-resolume-arena.html" target="_blank">[筆記] 連接Ableton Live 與 Resolume Arena</a></b></li><li><b><a href="https://violin-tao.blogspot.com/2014/02/logic-pro-x-mac.html" target="_blank">[筆記] Logic pro x 快速鍵 (mac)</a><br /> </b></li><a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html" target="_blank"></a><li><a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html" target="_blank"></a><a href="https://violin-tao.blogspot.com/2016/12/blog-post.html" target="_blank"><b>音樂訊號分析相關資源整理</b></a></li><li><a href="https://violin-tao.blogspot.com/2016/05/mac-afplay.html" target="_blank"><b>[筆記] Mac內建播放聲音指令 afplay</b></a></li><li><a href="https://violin-tao.blogspot.com/2017/05/ffmpeg-wav-mp3.html" target="_blank"><b>[筆記] 使用 ffmpeg 將 wav 轉成 mp3</b></a></li><li><b><a href="https://violin-tao.blogspot.com/2014/02/visualizing-sound.html" target="_blank">[筆記] Visualizing Sound 聲波圖概念</a><br /> </b></li><li><b><a href="https://violin-tao.blogspot.com/2014/03/20140304.html" target="_blank">[筆記] 全球音樂文化 2014/03/04</a> (日本音樂文化)</b></li><li><b><a href="https://violin-tao.blogspot.com/2014/03/20140311.html" target="_blank">[筆記] 全球音樂文化 2014/03/11</a> (蒙古與西藏)</b></li><li><b><a href="https://violin-tao.blogspot.com/2014/03/20140318.html" target="_blank">[筆記] 全球音樂文化 2014/03/18</a> (印尼甘美朗音樂與流行音樂)</b></li><li><a href="https://violin-tao.blogspot.com/2014/03/20140325.html" target="_blank"><b>[筆記] 全球音樂文化 2014/03/25 印度古典音樂與電影音樂</b></a></li><li><a href="https://violin-tao.blogspot.com/2014/04/20140401.html" target="_blank"><b>[筆記] 全球音樂文化 2014/04/01 阿拉伯與伊斯蘭世界</b></a></li><li><a href="https://violin-tao.blogspot.com/2014/04/20140408.html" target="_blank"><b>[筆記] 全球音樂文化 2014/04/08 中亞諸國:絲路上的音樂</b></a></li><li><a href="https://violin-tao.blogspot.com/2014/04/20140415.html" target="_blank"><b>[筆記] 全球音樂文化 2014/04/15 非洲:傳統與蛻變</b></a></li><li><a href="https://violin-tao.blogspot.com/2014/04/20140422.html" target="_blank"><b>[筆記] 全球音樂文化 2014/04/22 歐洲</b></a></li><li><a href="https://violin-tao.blogspot.com/2014/05/20140506.html" target="_blank"><b>[筆記] 全球音樂文化 2014/05/06 北美洲</b></a></li><li><b><a href="https://violin-tao.blogspot.com/2014/05/20140513.html" target="_blank">[筆記] 全球音樂文化 2014/05/13 拉丁美洲</a></b></li><li><b><a href="https://violin-tao.blogspot.com/2014/04/raga-beats.html" target="_blank">[心得] Raga Beats -- 印度塔布拉鼓演奏音樂會</a> (期中作業)</b></li><li><b><a href="https://violin-tao.blogspot.com/2014/06/blog-post.html" target="_blank">全球音樂文化 期末報告 -- 耶路薩冷現代爵士作曲家作品中傳統音樂元素探索 (節錄)</a></b></li></ul></h3><p></p>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-1561963809345627762022-10-23T21:07:00.008-07:002022-12-17T00:05:43.019-08:00[採譜] 使用 ABC Notation 採譜 周杰倫 - 最偉大的作品<p>首先附上 ABC Notation 的 Wiki: <a href="https://zh.wikipedia.org/zh-tw/ABC%E8%AE%B0%E8%B0%B1%E6%B3%95">ABC 記譜法</a></p><p>可以先參考我上一篇的筆記: <a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html">[筆記] Markdown 打譜 - ABC notation 初體驗</a></p><p>本篇新增的重點:附點音符用法,三連音用法,連結線用法,和弦用法</p><p>以下是我在 HackMD 上面打的譜,包括這首歌主要的旋律以及前奏與主歌的和弦分析</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgJy2QlRXFhMJZjbfduKq0hRNxclDN8IGVz3j60_oNgJ5Z3Se3RGxEaEM0uT5HgRuldIlQZy7_T02_4ej-3z5Iyc3mIF_FxrivXOEK_e-YQuTCgarjM4iMiX23n06DwsZSuOZLHUCYRjQqUmiLEuvJ05YW71CxJf_LmnM_fb1nnudigQ4_YA93WOw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1358" data-original-width="1158" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEgJy2QlRXFhMJZjbfduKq0hRNxclDN8IGVz3j60_oNgJ5Z3Se3RGxEaEM0uT5HgRuldIlQZy7_T02_4ej-3z5Iyc3mIF_FxrivXOEK_e-YQuTCgarjM4iMiX23n06DwsZSuOZLHUCYRjQqUmiLEuvJ05YW71CxJf_LmnM_fb1nnudigQ4_YA93WOw=w546-h640" width="546" /></a></div><br />附上 Code 與解釋<div>旋律部分:<br /><div><div><pre class="part" data-endline="35" data-startline="18" style="background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; overflow-wrap: normal; overflow: auto; padding: 16px; position: relative; word-break: break-all;"><code style="background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">```abc
X:1
T: 周杰倫 - 最偉大的作品
T: (melody)
C:trascription by yuntao
M: 4/4
L: 1/4
K:C
D1/2 G1/2d1/2 |d1/2>c1/2 _e z1/2 D1/2 ^F1/2c1/2 |c1/2>_B1/2 d1 z1/2 D1/2 G1/2_B1/2 |
_B1/2>A1/2 c1 z1/2 ^C1/2 E1/2_B1/2 | _B1/2>c1/2 A1 z1 ^G1/4A1/4 (3f1/4e1/4_e1/4 |
d1/2>c1/2 (a1 a1/2)_b1/2 a1/2d1/2 | c1/2>d1/2 _B1 z1/2 (3B1/4c1/4B1/4 A1/2B1/2 |
d1/2>c1/2 G z1/2 D1/2 _B1/2>A1/2 | G2 d' z1/2 :||
```</code></pre></div><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEis9uyvSCdfHrzY1YzQuhh4vLV0TyOlbpj35ZW0gW0CoxJNkcfqgaLWr8-MitZ_b7DxswcBStnqw2UBJkxY67aLzClD0jg4ifQfC39O1mkJGA7ry2tTaTJa2OJyvkzxwzFohMOMY5K6W7k6J4idBc3jztOSEgbN1Kra6Y_hCFF5UAswcqlII95zmw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="921" data-original-width="1552" height="380" src="https://blogger.googleusercontent.com/img/a/AVvXsEis9uyvSCdfHrzY1YzQuhh4vLV0TyOlbpj35ZW0gW0CoxJNkcfqgaLWr8-MitZ_b7DxswcBStnqw2UBJkxY67aLzClD0jg4ifQfC39O1mkJGA7ry2tTaTJa2OJyvkzxwzFohMOMY5K6W7k6J4idBc3jztOSEgbN1Kra6Y_hCFF5UAswcqlII95zmw" width="640" /></a></div><br />1. 音高:透過字母大寫小寫加上 “ ' ” 控制高八度 以及 “, + 數字 ” 控制要低幾個八度來決定<p></p><p>2. 節拍:先看基本的設定我這裡的 M:4/4, L:1/4 設定為四分音符, 因此我單純寫一個 G 就是四分音符,如果要把音符長短縮短一半就要加上 1/2,變成 G1/2,反之如果要放大兩倍變成二分音符的話,就要寫成 G2 </p><p>3. 附點:使用 > 符號放在兩個音之間</p><p>4. 休止符:使用 z 代表休止符,休止符長短的用法跟一般音符相同</p><p>5. 三連音:使用 (3 後面接著要加入三連音的音符,注意不能有空格,必須連著打在一起</p><p>6. 連結線:使用括號把兩個要連在一起的音包起來</p><p><br /></p><p>和弦部分:</p>
<pre class="part" data-endline="35" data-startline="18" style="background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; overflow-wrap: normal; overflow: auto; padding: 16px; position: relative; word-break: break-all;"><code style="background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">```abc
X:1
T: 周杰倫 - 最偉大的作品
T: (chord analysis)
C:trascription by yuntao
M: 4/4
L: 1/1
K:C
"Gm"[G _B d]| "Bbmaj/F"[F A _B d] | "Ebmaj7"[_E G _B d] | "D7"[D ^F A c]|
"Cm7"[C _E G _B]1/2 "D7"[D ^F A c]1/2 | "Gm7"[ G _B d f]1/2 "Bbmaj/F"[F A _B d]1/2 | "Em7(b5)"[E G _B d]1/2 "C#dim7"[^C E G _B]1/2| "A7"[A,1 ^C E G]1/2 "D7"[D^FAc]1/2|
"Cm7"[C _E G _B]1/2 "D7"[D ^F A c]1/2 | "Gm7"[ G _B d f]1/2 "Bbmaj/F"[F A _B d]1/2 | "Ebmaj7"[_E G _B d]1/2 "D7"[D ^F A c]1/2 | "Gm"[G,1 D G _B d]|
```</code></pre><h3><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjkB-liVIcP7U8Dp1QXh-fzNMwJb1YegbmB_aJphFNSJ0IoIIEatOYpR-mU8uGz35ntUyrVN68NLq1d5I33B-If7Wsp7oI9DHZgbMGYMwKV9WBIh7vnvj9ypEv572KIT3HuHrqpLe_4H_0wTnF0UP6fOYMxOJSDBSr0I0EWJAqFLG4gYNjDDKViQQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="759" data-original-width="1545" height="314" src="https://blogger.googleusercontent.com/img/a/AVvXsEjkB-liVIcP7U8Dp1QXh-fzNMwJb1YegbmB_aJphFNSJ0IoIIEatOYpR-mU8uGz35ntUyrVN68NLq1d5I33B-If7Wsp7oI9DHZgbMGYMwKV9WBIh7vnvj9ypEv572KIT3HuHrqpLe_4H_0wTnF0UP6fOYMxOJSDBSr0I0EWJAqFLG4gYNjDDKViQQ=w640-h314" width="640" /></a></div><p style="font-size: medium; font-weight: 400;">7. 和弦:使用中括號把要加進和弦的音符們包起來</p></h3><h3></h3><h3><p style="font-size: medium; font-weight: 400;">8. 升降與還原記號:在音符的字母前面加一個記號,升記號用尖三角形 ^,降記號用底線 _,還原記號用等於 = </p></h3><h3></h3><p>9. 和弦符號:在和弦的前面或是某個音符字母的前面加入一對雙引號,"引號裡面放和弦名稱"</p><p><br /></p><p>附上「周杰倫 - 最偉大的作品」官方MV </p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="384" src="https://www.youtube.com/embed/1emA1EFsPMM" width="462" youtube-src-id="1emA1EFsPMM"></iframe></div><h3></h3><h3>相關文章整理</h3><h3><p class="part in-view" data-endline="76" data-position="1541" data-size="0" data-startline="76" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; font-weight: 400; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1543" data-size="20" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span></p><ul style="font-size: medium; font-weight: 400;"><a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html" target="_blank"></a><li><b><a href="https://violin-tao.blogspot.com/2018/07/musescore.html" target="_blank">[筆記] Musescore 打譜軟體使用備忘錄</a></b><a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html" target="_blank"></a></li><li><a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html" target="_blank"><b>[筆記] Markdown 打譜 - ABC notation 初體驗</b></a></li><li><a href="https://violin-tao.blogspot.com/2022/10/abc-notation.html" target="_blank"><b>[採譜] 使用 ABC Notation 採譜 周杰倫 - 最偉大的作品</b></a></li><li><a href="https://violin-tao.blogspot.com/2022/10/abc-notation_26.html" target="_blank"><b>[採譜] 使用 ABC Notation 採譜 周杰倫 - 紅顏如霜</b></a></li><li><b><a href="https://violin-tao.blogspot.com/2022/12/abc-notation-machinedrum-infinite-us.html">[採譜] 使用 ABC Notation 採譜 Machinedrum - Infinite Us</a></b></li><li><a href="https://violin-tao.blogspot.com/2022/07/violin-transcription-by-yuntao.html" target="_blank"><b>[採譜] 周杰倫 - 最偉大的作品 violin transcription by yuntao</b></a></li><li><b><a href="https://violin-tao.blogspot.com/2015/02/ableton-live-resolume-arena.html" target="_blank">[筆記] 連接Ableton Live 與 Resolume Arena</a></b></li><li><b><a href="https://violin-tao.blogspot.com/2014/02/logic-pro-x-mac.html" target="_blank">[筆記] Logic pro x 快速鍵 (mac)</a><br /> </b></li><a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html" target="_blank"></a><li><a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html" target="_blank"></a><a href="https://violin-tao.blogspot.com/2016/12/blog-post.html" target="_blank"><b>音樂訊號分析相關資源整理</b></a></li><li><a href="https://violin-tao.blogspot.com/2016/05/mac-afplay.html" target="_blank"><b>[筆記] Mac內建播放聲音指令 afplay</b></a></li><li><a href="https://violin-tao.blogspot.com/2017/05/ffmpeg-wav-mp3.html" target="_blank"><b>[筆記] 使用 ffmpeg 將 wav 轉成 mp3</b></a></li><li><b><a href="https://violin-tao.blogspot.com/2014/02/visualizing-sound.html" target="_blank">[筆記] Visualizing Sound 聲波圖概念</a><br /> </b></li><li><b><a href="https://violin-tao.blogspot.com/2014/03/20140304.html" target="_blank">[筆記] 全球音樂文化 2014/03/04</a> (日本音樂文化)</b></li><li><b><a href="https://violin-tao.blogspot.com/2014/03/20140311.html" target="_blank">[筆記] 全球音樂文化 2014/03/11</a> (蒙古與西藏)</b></li><li><b><a href="https://violin-tao.blogspot.com/2014/03/20140318.html" target="_blank">[筆記] 全球音樂文化 2014/03/18</a> (印尼甘美朗音樂與流行音樂)</b></li><li><a href="https://violin-tao.blogspot.com/2014/03/20140325.html" target="_blank"><b>[筆記] 全球音樂文化 2014/03/25 印度古典音樂與電影音樂</b></a></li><li><a href="https://violin-tao.blogspot.com/2014/04/20140401.html" target="_blank"><b>[筆記] 全球音樂文化 2014/04/01 阿拉伯與伊斯蘭世界</b></a></li><li><a href="https://violin-tao.blogspot.com/2014/04/20140408.html" target="_blank"><b>[筆記] 全球音樂文化 2014/04/08 中亞諸國:絲路上的音樂</b></a></li><li><a href="https://violin-tao.blogspot.com/2014/04/20140415.html" target="_blank"><b>[筆記] 全球音樂文化 2014/04/15 非洲:傳統與蛻變</b></a></li><li><a href="https://violin-tao.blogspot.com/2014/04/20140422.html" target="_blank"><b>[筆記] 全球音樂文化 2014/04/22 歐洲</b></a></li><li><a href="https://violin-tao.blogspot.com/2014/05/20140506.html" target="_blank"><b>[筆記] 全球音樂文化 2014/05/06 北美洲</b></a></li><li><b><a href="https://violin-tao.blogspot.com/2014/05/20140513.html" target="_blank">[筆記] 全球音樂文化 2014/05/13 拉丁美洲</a></b></li><li><b><a href="https://violin-tao.blogspot.com/2014/04/raga-beats.html" target="_blank">[心得] Raga Beats -- 印度塔布拉鼓演奏音樂會</a> (期中作業)</b></li><li><b><a href="https://violin-tao.blogspot.com/2014/06/blog-post.html" target="_blank">全球音樂文化 期末報告 -- 耶路薩冷現代爵士作曲家作品中傳統音樂元素探索 (節錄)</a></b></li></ul></h3></div></div>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-17495966895289337712022-07-22T18:30:00.000-07:002023-01-30T00:58:58.585-08:00[筆記] 拿到新 Macbook 第一件事 - 終端機美化設定 iTerms 2 + zsh command line<p class="part in-view" data-endline="3" data-original-title="" data-position="39" data-size="0" data-startline="3" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;" title=""><span data-position="39" data-size="43" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">相關的教學網路文章其實頗多,本篇是針對 2022 年拿到的新筆電環境來更新一下相關做法</span></p><p class="part in-view" data-endline="5" data-position="84" data-size="0" data-startline="5" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="84" data-size="33" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">OS 版本:macOS Monterey version 12.3</span></p><h3 class="part in-view" data-endline="7" data-id="install-Homebrew" data-startline="7" id="install-Homebrew" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/6JXqH0O1RlawqsXnpiLCoA?view#install-Homebrew" smoothhashscroll="" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="install-Homebrew"><span class="octicon octicon-link" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; -webkit-font-smoothing: antialiased; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="123" data-size="16" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">install Homebrew</span></h3><p class="part in-view" data-endline="9" data-position="140" data-size="0" data-startline="8" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="140" data-size="28" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">首先,你需要 mac 的套件管理工具! Homebrew</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><span data-position="169" data-size="20" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">根據官網的指示,Install Brew</span></p><pre class="part in-view" data-endline="13" data-position="191" data-startline="11" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code class="bash hljs" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">/bin/bash -c <span class="hljs-string" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #df5000;">"<span class="hljs-subst" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)</span>"</span>
</code></pre><p class="part in-view" data-endline="15" data-position="300" data-size="0" data-startline="15" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="300" data-size="28" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">接著做這個設定後,就能在終端機使用順利 brew 指令!</span></p><pre class="part in-view" data-endline="19" data-position="329" data-startline="16" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code class="bash hljs" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;"><span class="hljs-built_in" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #005cc5;">echo</span> <span class="hljs-string" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #df5000;">'eval "$(/opt/homebrew/bin/brew shellenv)"'</span> >> /Users/yuntao/.zprofile
<span class="hljs-built_in" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #005cc5;">eval</span> <span class="hljs-string" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #df5000;">"<span class="hljs-subst" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">$(/opt/homebrew/bin/brew shellenv)</span>"</span>
</code></pre><h2 class="part in-view" data-endline="21" data-id="Terminal-相關設置" data-startline="21" id="Terminal-相關設置" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/6JXqH0O1RlawqsXnpiLCoA?view#Terminal-%E7%9B%B8%E9%97%9C%E8%A8%AD%E7%BD%AE" smoothhashscroll="" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Terminal-相關設置"><span class="octicon octicon-link" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; -webkit-font-smoothing: antialiased; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="463" data-size="13" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;"><span><a name='more'></a></span>Terminal 相關設置</span></h2><p class="part in-view" data-endline="23" data-position="478" data-size="0" data-startline="23" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="478" data-size="25" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">可以用 help 檢查看看 brew 是否安裝好了</span></p><pre class="part in-view" data-endline="26" data-position="504" data-startline="24" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">brew help
</code></pre><h3 class="part in-view" data-endline="27" data-id="安裝字型" data-startline="27" id="安裝字型" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/6JXqH0O1RlawqsXnpiLCoA?view#%E5%AE%89%E8%A3%9D%E5%AD%97%E5%9E%8B" smoothhashscroll="" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="安裝字型"><span class="octicon octicon-link" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; -webkit-font-smoothing: antialiased; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="527" data-size="4" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">安裝字型</span></h3><p class="part in-view" data-endline="28" data-position="532" data-size="0" data-startline="28" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="532" data-size="7" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">step 1:</span></p><pre class="part in-view" data-endline="31" data-position="541" data-startline="29" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code class="mac hljs" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">brew tap homebrew/cask-fonts
</code></pre><p class="part in-view" data-endline="32" data-position="582" data-size="0" data-startline="32" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="582" data-size="7" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">step 2:</span></p><p class="part in-view" data-endline="35" data-position="591" data-size="0" data-startline="34" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="591" data-size="29" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">安裝 font-meslo-lg-nerd-font 字型</span><span data-position="621" data-size="5" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">不錯</span></p><pre class="part in-view" data-endline="38" data-position="627" data-startline="36" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">brew install font-meslo-lg-nerd-font --cask
</code></pre><p class="part" data-endline="39" data-position="679" data-size="0" data-startline="39" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="679" data-size="55" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">🍺 font-meslo-lg-nerd-font was successfully installed!</span></p><p class="part" data-endline="41" data-position="736" data-size="0" data-startline="41" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="736" data-size="43" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">p.s. 我也安裝了 font-sauce-code-pro-nerd-font 字型</span></p><pre class="part" data-endline="44" data-position="780" data-startline="42" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">brew install font-sauce-code-pro-nerd-font --cask
</code></pre><p class="part" data-endline="45" data-position="838" data-size="0" data-startline="45" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="838" data-size="8" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">可以挑喜歡的用!</span></p><h3 class="part" data-endline="47" data-id="安裝-iTerms-2" data-startline="47" id="安裝-iTerms-2" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/6JXqH0O1RlawqsXnpiLCoA?view#%E5%AE%89%E8%A3%9D-iTerms-2" smoothhashscroll="" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="安裝-iTerms-2"><span class="octicon octicon-link" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; -webkit-font-smoothing: antialiased; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="852" data-size="11" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">安裝 iTerms 2</span></h3><p class="part" data-endline="49" data-position="864" data-size="0" data-startline="48" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="864" data-size="0" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; font-weight: 700;">Step 1:</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><span data-position="876" data-size="15" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">可以直接去官網下載安裝即完成 </span><a href="https://iterm2.com/" rel="noopener" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; text-decoration-line: none;" target="_blank">https://iterm2.com/</a></p><p class="part" data-endline="55" data-position="912" data-size="0" data-startline="51" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="912" data-size="0" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; font-weight: 700;">Step 2:</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><span data-position="925" data-size="24" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">修改 iTerm2 的 color scheme</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><img alt="" data-position="950" data-size="36" height="244" loading="lazy" src="https://i.imgur.com/X5yS2B4.png" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" width="320" /><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><span data-position="987" data-size="17" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">我選 Solarized Dark</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><img alt="" data-position="1005" data-size="36" loading="lazy" src="https://i.imgur.com/rYRRIts.jpg" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part" data-endline="59" data-position="1043" data-size="0" data-startline="57" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1043" data-size="0" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; font-weight: 700;">Step 3:</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><span data-position="1056" data-size="30" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">設定字型成剛剛安裝好的 MesloLGM Nerd Font</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><img alt="" data-position="1087" data-size="36" loading="lazy" src="https://i.imgur.com/ZAr5MK8.png" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><div class="alert alert-info part" data-endline="64" data-position="1125" data-size="73" data-startline="61" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #d9edf7; border-radius: 4px; border: 1px solid rgb(188, 232, 241); box-sizing: border-box; color: #31708f; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 20px; padding: 15px;"><p data-position="1133" data-size="0" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; margin: 0px;"><span data-position="1133" data-size="9" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">補充一下:可以透過</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><span data-position="1144" data-size="23" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">brew search nerd --cask</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><span data-position="1168" data-size="26" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">來查看可安裝的字型中,有出現 nerd 關鍵字的選項</span></p></div><p class="part" data-endline="68" data-position="1200" data-size="0" data-startline="67" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1203" data-size="55" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">p.s. 字型方面很多人也推薦用剛剛裝的另一個 SauceCodePro Nerd Font 看個人喜好囉 ~</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><img alt="" data-position="1257" data-size="36" loading="lazy" src="https://i.imgur.com/p91GLaS.png" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h2 class="part" data-endline="71" data-id="Shell-相關設置" data-startline="71" id="Shell-相關設置" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/6JXqH0O1RlawqsXnpiLCoA?view#Shell-%E7%9B%B8%E9%97%9C%E8%A8%AD%E7%BD%AE" smoothhashscroll="" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Shell-相關設置"><span class="octicon octicon-link" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; -webkit-font-smoothing: antialiased; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1299" data-size="10" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">Shell 相關設置</span></h2><h3 class="part" data-endline="73" data-id="安裝-zsh" data-startline="73" id="安裝-zsh" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/6JXqH0O1RlawqsXnpiLCoA?view#%E5%AE%89%E8%A3%9D-zsh" smoothhashscroll="" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="安裝-zsh"><span class="octicon octicon-link" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; -webkit-font-smoothing: antialiased; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1315" data-size="6" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">安裝 zsh</span></h3><pre class="part" data-endline="76" data-position="1322" data-startline="74" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code class="mac hljs" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;"><span class="hljs-keyword" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #a71d5d;">brew </span><span class="hljs-keyword" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #a71d5d;">install </span>zsh
</code></pre><h3 class="part" data-endline="77" data-id="安裝-oh-my-zsh" data-startline="77" id="安裝-oh-my-zsh" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/6JXqH0O1RlawqsXnpiLCoA?view#%E5%AE%89%E8%A3%9D-oh-my-zsh" smoothhashscroll="" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="安裝-oh-my-zsh"><span class="octicon octicon-link" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; -webkit-font-smoothing: antialiased; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1354" data-size="12" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">安裝 oh-my-zsh</span></h3><pre class="part" data-endline="80" data-position="1367" data-startline="78" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code class="bash hljs" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">sh -c <span class="hljs-string" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #df5000;">"<span class="hljs-subst" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)</span>"</span>
</code></pre><p class="part" data-endline="82" data-position="1475" data-size="0" data-startline="81" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1475" data-size="5" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">目前的成果</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><img alt="" data-position="1481" data-size="36" loading="lazy" src="https://i.imgur.com/96HuXei.png" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h3 class="part" data-endline="84" data-id="設定-oh-my-zsh-主題---agnoster" data-startline="84" id="設定-oh-my-zsh-主題---agnoster" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/6JXqH0O1RlawqsXnpiLCoA?view#%E8%A8%AD%E5%AE%9A-oh-my-zsh-%E4%B8%BB%E9%A1%8C---agnoster" smoothhashscroll="" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="設定-oh-my-zsh-主題---agnoster"><span class="octicon octicon-link" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; -webkit-font-smoothing: antialiased; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1523" data-size="26" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">設定 oh-my-zsh 主題 - agnoster</span></h3><p class="part" data-endline="86" data-position="1550" data-size="0" data-startline="85" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1550" data-size="21" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">ohmyzsh 裡面的可選主題可以去這看:</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><a href="https://github.com/ohmyzsh/ohmyzsh/wiki/Themes" rel="noopener" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; text-decoration-line: none;" target="_blank">https://github.com/ohmyzsh/ohmyzsh/wiki/Themes</a></p><p class="part" data-endline="88" data-position="1620" data-size="0" data-startline="88" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1620" data-size="8" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">編輯 zshrc</span></p><pre class="part" data-endline="91" data-position="1629" data-startline="89" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">vim ~/.zshrc
</code></pre><p class="part" data-endline="93" data-position="1650" data-size="0" data-startline="92" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1650" data-size="42" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">把 ZSH_THEME 那行的 robbyrussell 換成 agnoster 主題</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><img alt="" data-position="1694" data-size="36" loading="lazy" src="https://i.imgur.com/0P452aE.png" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><pre class="part" data-endline="96" data-position="1731" data-startline="94" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">ZSH_THEME="agnoster"
</code></pre><p class="part" data-endline="97" data-position="1760" data-size="0" data-startline="97" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1760" data-size="15" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">然後開一個新的終端機頁面,執行</span></p><pre class="part" data-endline="100" data-position="1776" data-startline="98" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">exec $SHELL
</code></pre><p class="part" data-endline="102" data-position="1796" data-size="0" data-startline="101" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1796" data-size="6" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">執行後的效果</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><img alt="" data-position="1803" data-size="36" loading="lazy" src="https://i.imgur.com/fJwpv0a.png" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h3 class="part" data-endline="104" data-id="設定-oh-my-zsh-主題加強版---powerlevel10k" data-startline="104" id="設定-oh-my-zsh-主題加強版---powerlevel10k" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/6JXqH0O1RlawqsXnpiLCoA?view#%E8%A8%AD%E5%AE%9A-oh-my-zsh-%E4%B8%BB%E9%A1%8C%E5%8A%A0%E5%BC%B7%E7%89%88---powerlevel10k" smoothhashscroll="" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="設定-oh-my-zsh-主題加強版---powerlevel10k"><span class="octicon octicon-link" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; -webkit-font-smoothing: antialiased; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1845" data-size="36" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">設定 oh-my-zsh 主題(加強版) - powerlevel10k</span></h3><p class="part" data-endline="106" data-position="1882" data-size="0" data-startline="105" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1882" data-size="21" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">這個主題需要額外安裝,先貼個 github</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><a href="https://github.com/romkatv/powerlevel10k" rel="noopener" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; text-decoration-line: none;" target="_blank">https://github.com/romkatv/powerlevel10k</a></p><h4 class="part" data-endline="108" data-id="安裝主題" data-startline="108" id="安裝主題" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/6JXqH0O1RlawqsXnpiLCoA?view#%E5%AE%89%E8%A3%9D%E4%B8%BB%E9%A1%8C" smoothhashscroll="" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="安裝主題"><span class="octicon octicon-link" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; -webkit-font-smoothing: antialiased; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1951" data-size="4" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">安裝主題</span></h4><p class="part" data-endline="109" data-position="1956" data-size="0" data-startline="109" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1956" data-size="32" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">安裝方法是把它載下來放到 oh-my-zsh 裡面相對應的路徑下</span></p><pre class="part" data-endline="113" data-position="1990" data-startline="111" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code class="bash hljs" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">git <span class="hljs-built_in" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #005cc5;">clone</span> https://github.com/romkatv/powerlevel10k.git ~/.oh-my-zsh/custom/themes/powerlevel10k
</code></pre><h4 class="part" data-endline="114" data-id="啟動主題" data-startline="114" id="啟動主題" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/6JXqH0O1RlawqsXnpiLCoA?view#%E5%95%9F%E5%8B%95%E4%B8%BB%E9%A1%8C" smoothhashscroll="" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="啟動主題"><span class="octicon octicon-link" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; -webkit-font-smoothing: antialiased; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="2103" data-size="4" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">啟動主題</span></h4><pre class="part" data-endline="117" data-position="2108" data-startline="115" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">vim ~/.zshrc
</code></pre><p class="part" data-endline="119" data-position="2130" data-size="0" data-startline="119" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2130" data-size="33" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">把這行改成 powerlevel10k/powerlevel10k</span></p><pre class="part" data-endline="122" data-position="2164" data-startline="120" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">ZSH_THEME="powerlevel10k/powerlevel10k"
</code></pre><p class="part" data-endline="123" data-position="2212" data-size="0" data-startline="123" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2213" data-size="4" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">以及參考</span><a href="https://medium.com/%E6%95%B8%E6%93%9A%E4%B8%8D%E6%AD%A2-not-only-data/macos-%E7%9A%84-terminal-%E5%A4%A7%E6%94%B9%E9%80%A0-iterms-oh-my-zsh-%E5%85%A8%E6%94%BB%E7%95%A5-77d5aae87b10" rel="noopener" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; text-decoration-line: none;" target="_blank">這篇</a><span data-position="2402" data-size="21" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;"> follow 大大的做法,初步先這樣設定</span></p><pre class="part" data-endline="130" data-position="2425" data-startline="124" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">POWERLEVEL9K_MODE='nerdfont-complete'
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(virtualenv dir dir_writable vcs vi_mode)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status ram)
</code></pre><p class="part" data-endline="132" data-position="2627" data-size="0" data-startline="132" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2627" data-size="25" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">以上內容加到 ~/.zshrc 裡面就完成設定啦!</span></p><h3 class="part" data-endline="134" data-id="安裝超好用的套件-zsh-autosuggestions" data-startline="134" id="安裝超好用的套件-zsh-autosuggestions" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><span data-position="2658" data-size="28" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;"><br /></span></h3><h3 class="part" data-endline="134" data-id="安裝超好用的套件-zsh-autosuggestions" data-startline="134" id="安裝超好用的套件-zsh-autosuggestions" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/6JXqH0O1RlawqsXnpiLCoA?view#%E5%AE%89%E8%A3%9D%E8%B6%85%E5%A5%BD%E7%94%A8%E7%9A%84%E5%A5%97%E4%BB%B6-zsh-autosuggestions" smoothhashscroll="" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="安裝超好用的套件-zsh-autosuggestions"><span class="octicon octicon-link" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; -webkit-font-smoothing: antialiased; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="2658" data-size="28" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">安裝超好用的套件 zsh-autosuggestions</span></h3><pre class="part" data-endline="137" data-position="2687" data-startline="135" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;"> git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
</code></pre><p class="part" data-endline="138" data-position="2818" data-size="0" data-startline="138" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2818" data-size="51" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">接著編輯 .zshrc 把 plugins 那行加入 zsh-autosuggestions 即完成!</span></p><pre class="part" data-endline="141" data-position="2870" data-startline="139" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">plugins=(git zsh-autosuggestions)
</code></pre><p class="part" data-endline="142" data-position="2912" data-size="0" data-startline="142" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><img alt="" data-position="2912" data-size="36" loading="lazy" src="https://i.imgur.com/IqStdJ8.png" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part" data-endline="144" data-position="2950" data-size="0" data-startline="144" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2950" data-size="36" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">設定完後重開終端機就會有打字 auto suggestion 的功能啦!</span></p><p class="part" data-endline="146" data-position="2988" data-size="0" data-startline="146" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2988" data-size="60" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">p.s. 再挖下去坑就越挖越深了(無底洞),真的是可以玩超久,有興趣的人可以看參考資料第一篇,我這邊只記錄我所使用的部分</span></p><p class="part" data-endline="146" data-position="2988" data-size="0" data-startline="146" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2988" data-size="60" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;"><br /></span></p><h2 class="part" data-endline="148" data-id="參考資料" data-startline="148" id="參考資料" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/6JXqH0O1RlawqsXnpiLCoA?view#%E5%8F%83%E8%80%83%E8%B3%87%E6%96%99" smoothhashscroll="" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="參考資料"><span class="octicon octicon-link" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; -webkit-font-smoothing: antialiased; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="3053" data-size="4" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">參考資料</span></h2><p class="part" data-endline="150" data-position="3058" data-size="0" data-startline="149" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="3058" data-size="26" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">本篇主要參考資料是這篇2020年的文,感謝無私分享!</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><a href="https://medium.com/%E6%95%B8%E6%93%9A%E4%B8%8D%E6%AD%A2-not-only-data/macos-%E7%9A%84-terminal-%E5%A4%A7%E6%94%B9%E9%80%A0-iterms-oh-my-zsh-%E5%85%A8%E6%94%BB%E7%95%A5-77d5aae87b10" rel="noopener" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; text-decoration-line: none;" target="_blank">如何讓 Terminal 看起來好用又好看|iTerms 2 + Oh-my-zsh 全攻略</a></p><p class="part" data-endline="153" data-position="3317" data-size="0" data-startline="152" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="3317" data-size="24" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">另一篇參考的是這篇2017年的文,也寫得很優質!</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><a href="https://medium.com/statementdog-engineering/prettify-your-zsh-command-line-prompt-3ca2acc967f" rel="noopener" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; text-decoration-line: none;" target="_blank">超簡單!十分鐘打造漂亮又好用的 zsh command line 環境</a></p><p><br /></p>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-26966873809572490102022-07-22T08:58:00.009-07:002022-07-22T10:11:12.014-07:00[心得] 我在 QNAP 的日子(五)放暑假!刻在我心底的品牌!<p>上一篇:<a href="https://violin-tao.blogspot.com/2022/07/qnap-eat.html">我在 QNAP 的日子(四)</a></p><p>光陰似箭,轉眼間,我在這裡也待了五年半多快六年了</p><p>其中經歷了許許多多不同的,起起伏伏的狀態</p><p>直到最近很長的一段時裡,覺得自己陷在疲憊的狀態裡面太久,且毫無改善的跡象,很需要一個長假讓自己好好充個電,另一方面也想把握時間多學點新東西與嘗試各種 idea,做為休息期間的重點任務</p><p>之後預計會重新開始比較頻繁地更新這個部落格,分享各種學習心得筆記</p><p>像是有一天我去看了一位工程師YouTuber 的影片 "<a href="https://www.youtube.com/watch?v=bptk_ViUKWQ&t=1s">MBTI人格,誰適合當工程師</a>" 後</p><p>覺得有趣極了,於是就跑去測了 MBTI: <a href="https://www.16personalities.com/ch">https://www.16personalities.com/ch</a></p><p>結果發現,果不其然,我的測驗結果跟影片裡所提到的 "多數工程師類型" 相差甚遠 XDDD</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDRNYUr00u050KQvc6cCyMsKt2MtHwDtkLKUEkYXFg8hGeIij59AOuCde5ofuQZhiBWG37HLeLxOnVVPg3OAbnBQr_CnGge-DeXYXOgSysGpwnPIqczIsfsjExDJNivUhP9aBe6z_IL2MxswZCGYmEOF2C9etP4ILL4V-zEcLobuVIeIoO2QKTFQ/s2660/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202022-07-22%20%E4%B8%8B%E5%8D%8811.17.09.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1378" data-original-width="2660" height="331" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDRNYUr00u050KQvc6cCyMsKt2MtHwDtkLKUEkYXFg8hGeIij59AOuCde5ofuQZhiBWG37HLeLxOnVVPg3OAbnBQr_CnGge-DeXYXOgSysGpwnPIqczIsfsjExDJNivUhP9aBe6z_IL2MxswZCGYmEOF2C9etP4ILL4V-zEcLobuVIeIoO2QKTFQ/w640-h331/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202022-07-22%20%E4%B8%8B%E5%8D%8811.17.09.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://www.16personalities.com/infp-personality">https://www.16personalities.com/infp-personality</a></div><div class="separator" style="clear: both; text-align: center;"><br /></div>其中裡面有一段話,覺得真的是深得我心!<br /><p></p><blockquote><p><span style="color: #51596a; font-family: "Open Sans", "Helvetica Neue", Arial; font-size: 19.8px;">"Mediators (INFPs) want to feel a sense of purpose in their work. Wherever they find themselves on the job ladder, they try to cultivate an emotional and moral connection to what they do – looking for reassurance that their day-to-day efforts are helping other people in some shape or form. This desire to be of service colors how Mediator personalities respond to authority in the workplace as well as how they express it."</span></p></blockquote><p><br /></p><p>最近幾個月的日子裡,每天也很緊鑼密鼓地在交接與交代從古到今,經手過的案子與各種事項,整理出許許多多的文件以及踩過的坑,同時帶著新人一起為新版本模型準確度奮鬥著!現在模型整體數據上有超越了之前的水準,算是給部門也給自己一個交代了!<br /><br /></p><p>今天是在這的最後一天,應專利部門同事們熱情的邀請,特別帶琴去公司,跟總經理以及大家好好地道別與獻上祝福!</p><p></p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="361" src="https://www.youtube.com/embed/1LXFsdCCvdY" width="486" youtube-src-id="1LXFsdCCvdY"></iframe></div><div class="separator" style="clear: both; text-align: center;"><br /></div><p></p><p>這一系列就到這篇暫時告一段落,感謝看到這裡的每一個人,也感謝曾經幫助過我的每一個人!</p><p>雲濤下台一鞠躬 🙏</p>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-88493326823177963442022-07-10T10:41:00.006-07:002022-07-10T18:35:22.040-07:00[筆記] iTerms 2 終端機設置 - 讓 vim 模式裡可以捲動 (scroll)<p> 首先 Preference -> Advanced -> 然後搜尋關鍵字 Mouse</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjq9_EQ-ZhBl2dEm3QOHhVStBjeC0EaUkhoXvGCdLFl403DHvtMiwTTQD7e0oasZ-VQiBVZ0We-2GUoV8KuTKwAezSbQj67hMkVKKWN2dhvZDXEZ0OsFD20xA0T-zcWW-fqOjfKEMvXXqJe0wLeyGCRukAtpBiT8UVUmu9_NUPGS7PbYWyGi7W7w/s2024/%E6%88%AA%E5%9C%96%202022-07-11%20%E4%B8%8A%E5%8D%881.21.37.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="990" data-original-width="2024" height="313" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjq9_EQ-ZhBl2dEm3QOHhVStBjeC0EaUkhoXvGCdLFl403DHvtMiwTTQD7e0oasZ-VQiBVZ0We-2GUoV8KuTKwAezSbQj67hMkVKKWN2dhvZDXEZ0OsFD20xA0T-zcWW-fqOjfKEMvXXqJe0wLeyGCRukAtpBiT8UVUmu9_NUPGS7PbYWyGi7W7w/w640-h313/%E6%88%AA%E5%9C%96%202022-07-11%20%E4%B8%8A%E5%8D%881.21.37.png" width="640" /></a></div>可以看到目前 Scroll wheel sends arrow keys when in alternate screen mode 是關起來的狀態<span><a name='more'></a></span><div><div>把它改成 YES ! 就可以在 vim 模式裡面 scroll 啦!<p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGshJi7CID6NL1E37LKPoUlcR0qLKFgZYj6FzWOQW-1yw3CosVOTlabnZCW1jMNb-HPksPmt2eLhZqwLvL-QMdx6xFl2crg1tA3nLeZjaTkkI9n3NIkSYHwFUJJ_3UFgAKwA1a_4lvsgadYQSDFTzs9enJl_j7Ku82QlXJcRu0SWVZ8nr05bofwA/s2028/%E6%88%AA%E5%9C%96%202022-07-11%20%E4%B8%8A%E5%8D%881.21.58.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1068" data-original-width="2028" height="338" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGshJi7CID6NL1E37LKPoUlcR0qLKFgZYj6FzWOQW-1yw3CosVOTlabnZCW1jMNb-HPksPmt2eLhZqwLvL-QMdx6xFl2crg1tA3nLeZjaTkkI9n3NIkSYHwFUJJ_3UFgAKwA1a_4lvsgadYQSDFTzs9enJl_j7Ku82QlXJcRu0SWVZ8nr05bofwA/w640-h338/%E6%88%AA%E5%9C%96%202022-07-11%20%E4%B8%8A%E5%8D%881.21.58.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div>報告完畢~ <p></p></div></div>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-70189538741826092162022-07-09T09:49:00.021-07:002022-07-22T09:09:40.166-07:00[心得] 我在 QNAP 的日子(四)雲濤Eat來了!疫情下的生活轉變<div>上一篇:<a href="https://violin-tao.blogspot.com/2022/07/qnap_7.html">我在QNAP的日子(三)</a></div><div><br /></div><div>2020 疫情肆虐之前,我去了一趟宿霧的語言學校遊學 (<a href="https://violin-tao.blogspot.com/2020/01/omge.html">心得文</a>) ,在當地參與了 sinulog festival 後接連看到兩個震驚世界的新聞,一個是疫情大爆發,另一個是 Kobe 驟逝,從那一週後,整個世界就陷入一段很混亂的局面,一直到今天</div><div><br /></div><div>從 2019 下半年期間一連出席了好幾場告別式,心情上常常處於低潮與谷底狀態,變得喪失活力,幸運的是好同事們開始頻繁地揪團去運動中心,一方面是運動散心且提升免疫力,另一方面我也同時執行 18-6 斷食,運動完買 subway 回辦公室吃,買到店員只要看到我的臉就知道我要點啥的地步 (而且挖料的時候也很大方),就這樣一口氣瘦了7公斤 (現在又都吃回來了QQQQ)!</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh5wYfA82uO5Zuo9_oo8TOFKu-73p0kHaqBR1hNIE6p_mvhMZAKw7XbQpjpS7AxLrPU84UmBrED8dlvUXpxDekHIhM8IaJxJrQ9h5D7y_vGvkAq6Hmlgf0VEQkcyyG49Y5g5b6p6uByjUPzDru5T7DW82uWvb4EHJLXmRVj7WioRORmdMj1OOsQOQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="3000" data-original-width="4000" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEh5wYfA82uO5Zuo9_oo8TOFKu-73p0kHaqBR1hNIE6p_mvhMZAKw7XbQpjpS7AxLrPU84UmBrED8dlvUXpxDekHIhM8IaJxJrQ9h5D7y_vGvkAq6Hmlgf0VEQkcyyG49Y5g5b6p6uByjUPzDru5T7DW82uWvb4EHJLXmRVj7WioRORmdMj1OOsQOQ" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg-I2KWadG9Z6Jtk2JVIpmEsfrM3Cc_rQc2ayVmQ-2Zm05xQqsQ4OEUl8YiVPbKxYS2fndoWqKUMaUktDlQvTWVVFtG8SfZPTYRJsIqfshb4P-EveFiMxn_YtJCjll4dO_pzTAt_Ggvh64nesP3qNo-Jer8aNGDyZcli1FheZkzjRhTYiX6GhHEOA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="4000" data-original-width="3000" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEg-I2KWadG9Z6Jtk2JVIpmEsfrM3Cc_rQc2ayVmQ-2Zm05xQqsQ4OEUl8YiVPbKxYS2fndoWqKUMaUktDlQvTWVVFtG8SfZPTYRJsIqfshb4P-EveFiMxn_YtJCjll4dO_pzTAt_Ggvh64nesP3qNo-Jer8aNGDyZcli1FheZkzjRhTYiX6GhHEOA" width="180" /></a></div></div><div><br /></div><div>我也在這一年回到演藝圈 (當時的演出<a href="https://www.facebook.com/events/3267779109967765">活動頁</a>),試圖找回往日充滿活力的自己</div><div><br /></div><div>到台灣真正開始進入三級警戒時期後,很多知名的店家為求生存,都祭出了外帶超值便當方案,午餐就變得很豐富,可以吃到平常中午不想花大錢吃的品牌餐廳菜色,豐富又營養,有時候會發揮汐止的地利之便,上個交流道直奔基隆外帶個甕仔雞回來進補一下!吃進肚子的才是真的!</div><div><br /></div><div>這篇不打算分享工作上的事XD 食物系工程師不裝了!上菜!</div><div><br />1. 銘記越南美食 - 每次有值得慶祝的事或是要送上祝福時,可以容納整桌人的聚餐首推這家!很營養!很補!而且超好吃!</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEipJQayBqxRESLp_n0bT6N3wZQnRw-DL9UvrCBOldcueCR0FC5MpM7r5d4nYTXArHV0DCnfaJKTz-lPEkBafP3HoVR6_5O4ifttIHAcYupr6jERlipfRdYXqU6IkAiQXSvTv4I8sTlVfyHo_YahDuUJ-YV8qkJi4ZycAkNxWv7e3pZKgQIwrA9Fdw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="3024" data-original-width="4032" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEipJQayBqxRESLp_n0bT6N3wZQnRw-DL9UvrCBOldcueCR0FC5MpM7r5d4nYTXArHV0DCnfaJKTz-lPEkBafP3HoVR6_5O4ifttIHAcYupr6jERlipfRdYXqU6IkAiQXSvTv4I8sTlVfyHo_YahDuUJ-YV8qkJi4ZycAkNxWv7e3pZKgQIwrA9Fdw" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiznb_gjroipMxUNiXgUhDA20W6q4SBmMVxJcGcoPR4Q7ca5xmBnxc0IETaVxcx2F4J9i_NXQrZTlEkJSj1wyg3nTBFkUD4E3-HyWwiP6zfyAo5ifwccURrKLK5c7gpKNjak3N1hWK8asLn8ADQxbrYcV3C3TVciPXNB71dVExaDmFhGORRekA1zQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="3024" data-original-width="4032" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEiznb_gjroipMxUNiXgUhDA20W6q4SBmMVxJcGcoPR4Q7ca5xmBnxc0IETaVxcx2F4J9i_NXQrZTlEkJSj1wyg3nTBFkUD4E3-HyWwiP6zfyAo5ifwccURrKLK5c7gpKNjak3N1hWK8asLn8ADQxbrYcV3C3TVciPXNB71dVExaDmFhGORRekA1zQ" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgml8mOzs-u1rCCd4biAZYNdbG5f_eGinTKA5EJpTBY4M96gZUjWB9GKQO0XigNgL7j4sk7Eqp19wPrj7gWLWhcIZcdCd-Utc9yIFQCs9VWpvRhVnG7XxhkpuwLAFZBAmvXwYtIH1lQs5kFqP6oXhLXgbyXCgw8LS2fJaJvXxqqiGd7VI6GtJa7dA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="3024" data-original-width="4032" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEgml8mOzs-u1rCCd4biAZYNdbG5f_eGinTKA5EJpTBY4M96gZUjWB9GKQO0XigNgL7j4sk7Eqp19wPrj7gWLWhcIZcdCd-Utc9yIFQCs9VWpvRhVnG7XxhkpuwLAFZBAmvXwYtIH1lQs5kFqP6oXhLXgbyXCgw8LS2fJaJvXxqqiGd7VI6GtJa7dA" width="320" /></a></div><br />2. 北大荒 - 去南港展覽館參加研討會必備,超大顆水餃,一顆抵別人家的兩顆,</div><div>重點是煙燻滷味,配著吃 ~ 銷魂!</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEivsuks-3t0T0ZNHQQgjycW1sJQYS5MPVsZc_lm419tfy3JZ-gwlHgF5JPOPBT_RybGW1Zxy51djZKVnZBQ5oEadc3AAuJ9Cu1U8lRI-ocPqE0zwFtlHk_A4SGz0oTK38FjGTlCBessBEuoUKb-Ay9SgF--nEQ8AzKvghbmHcyYdkAAnkzspzRzMQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="3024" data-original-width="4032" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEivsuks-3t0T0ZNHQQgjycW1sJQYS5MPVsZc_lm419tfy3JZ-gwlHgF5JPOPBT_RybGW1Zxy51djZKVnZBQ5oEadc3AAuJ9Cu1U8lRI-ocPqE0zwFtlHk_A4SGz0oTK38FjGTlCBessBEuoUKb-Ay9SgF--nEQ8AzKvghbmHcyYdkAAnkzspzRzMQ" width="320" /></a></div><br />3. 龍星餐廳 (澎湖) - 你沒看錯,我們的美食版圖最遠的遠到澎湖!而且還是一桌子的人一起去吃的!(去喜來登吃喜宴的前一天大夥先飛來澎湖觀光一下,在這聚個餐)</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgVMKwl2smsnzLKD2zJ4BxuGK6aH8GZyJtIqAYrT-n0Xzt7kQqouxKv0EOqCRKfy953hzYkoZZx3CI4P3xQaBCX05Vw6b9M9sMgpKJexUeh_zv8LVJEU9Jsza2ghhiVngaAA2dpQJc7o8mf5PVWpu35a_8K96yZepOZSrQSbrmvUGJRcqRJA81nSw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="3000" data-original-width="4000" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEgVMKwl2smsnzLKD2zJ4BxuGK6aH8GZyJtIqAYrT-n0Xzt7kQqouxKv0EOqCRKfy953hzYkoZZx3CI4P3xQaBCX05Vw6b9M9sMgpKJexUeh_zv8LVJEU9Jsza2ghhiVngaAA2dpQJc7o8mf5PVWpu35a_8K96yZepOZSrQSbrmvUGJRcqRJA81nSw" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">明蝦超巨大,重點是這裡的海鮮超級新鮮!</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiLAt3iImT9YaaXsObULSTGoo3EA4Ow42fqfFHe4dwUFu7HJQpLDgYzQLzxuwahQjDFkA40FG_Ya73Tq60itncxOrAnoYN50Zh3mLWTUQFK_z-hGKzCr9ErsjHro0PrlE7glEpS3RoRYZvChcdN-_TkMJ8ZUeJhjGYBC46rU0ukHNZIKIwM1vd5uw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="3000" data-original-width="4000" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEiLAt3iImT9YaaXsObULSTGoo3EA4Ow42fqfFHe4dwUFu7HJQpLDgYzQLzxuwahQjDFkA40FG_Ya73Tq60itncxOrAnoYN50Zh3mLWTUQFK_z-hGKzCr9ErsjHro0PrlE7glEpS3RoRYZvChcdN-_TkMJ8ZUeJhjGYBC46rU0ukHNZIKIwM1vd5uw" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgsldDpNieP1gP_NPHGI9E6OGYEW3PxHZWaqoONFOceaeB_iD384uke5MUtLumQQRvSc8sDQQ_4Cknp_VumtfUMT41vGUtw3VZmj5TzTrShIogj7xTxh-q0jehPDgKcXREuxPRxPkK5oHuaPvb4vYEcesUvggxcfS1wO_fjlXWpeYdcRaOH-p2MDw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="3000" data-original-width="4000" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEgsldDpNieP1gP_NPHGI9E6OGYEW3PxHZWaqoONFOceaeB_iD384uke5MUtLumQQRvSc8sDQQ_4Cknp_VumtfUMT41vGUtw3VZmj5TzTrShIogj7xTxh-q0jehPDgKcXREuxPRxPkK5oHuaPvb4vYEcesUvggxcfS1wO_fjlXWpeYdcRaOH-p2MDw" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">外觀看起來中規中矩,這個咬下去才知道狠厲害</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiFfmGRvR8UfL5b8vAn3GGOjU0A9Siq6dWM5aB5sMdyE9UegETnEoCvUQEGy8BFf1YlnQYAxVQy5cJSYv6ld5yMG180m6Y68R4Zsfyl4uVVbJgToWXGGD9IxII2fTA74rjyaEoN3kT35ikz7tb1Phe3wxufZuYH6qTVtTxws3euUH-6eSzBMJhfQQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="3000" data-original-width="4000" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEiFfmGRvR8UfL5b8vAn3GGOjU0A9Siq6dWM5aB5sMdyE9UegETnEoCvUQEGy8BFf1YlnQYAxVQy5cJSYv6ld5yMG180m6Y68R4Zsfyl4uVVbJgToWXGGD9IxII2fTA74rjyaEoN3kT35ikz7tb1Phe3wxufZuYH6qTVtTxws3euUH-6eSzBMJhfQQ" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg7DDypgSZ93QZS7voexnVvfditiRq_SNPegQEMWyVeKHhF0PXg3uSMLpo9WkZVkWGC9FmN7qD2tdJN0hAJ8j4CAAS_fpwTUjsnSYIZjArWWUkF4NpdQ3GT7ereouT0tOo3RLnXpUl7OMBDAVMtH-NiUdP5VwkY41sqmg3xGLttmSL0xhLgIy5nPw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="3000" data-original-width="4000" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEg7DDypgSZ93QZS7voexnVvfditiRq_SNPegQEMWyVeKHhF0PXg3uSMLpo9WkZVkWGC9FmN7qD2tdJN0hAJ8j4CAAS_fpwTUjsnSYIZjArWWUkF4NpdQ3GT7ereouT0tOo3RLnXpUl7OMBDAVMtH-NiUdP5VwkY41sqmg3xGLttmSL0xhLgIy5nPw" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">偷渡一張福澎喜來登</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiCIKrvy4hrAmx5v4vboRrRIEeyFGY4NEfmBLece0Jeb7fUANas5BKJFAwJQZAUQdLVxcokETxiTkbrEpnSdLvWiyeaqRztIaqHQfmx7RRzMMoDwAy9jHlQ2UeMCr6pGPYGEMZDghYC7SSe35cJpisS8oD8g2cNSxS26wVSDfKxlSVfpn701WVo8A" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="3000" data-original-width="4000" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEiCIKrvy4hrAmx5v4vboRrRIEeyFGY4NEfmBLece0Jeb7fUANas5BKJFAwJQZAUQdLVxcokETxiTkbrEpnSdLvWiyeaqRztIaqHQfmx7RRzMMoDwAy9jHlQ2UeMCr6pGPYGEMZDghYC7SSe35cJpisS8oD8g2cNSxS26wVSDfKxlSVfpn701WVo8A" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">再偷渡一張澎湖的土魠魚蛋餅配土魠魚羹早餐,極讚!</div><br /></div>4. 三級警戒後的外帶自取 ~ 雲濤Eat!</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgCIlocFCJpq567xAb_VHRzcfg0sZio1bOuxIVd4Jn3gsjRa-5RdKo2RlgLdw9uSR1c-fCwkOg3RJXdcXINUImVfmBcN2fZGX_FfZ_7yvNNVq6yum3a_Uet0RJ_46oks11Uf2N7Gda7IvzSC7B-88_BKL13EFGPJrxssdudKVJdc5u5EdITzhhWcw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="3024" data-original-width="4032" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEgCIlocFCJpq567xAb_VHRzcfg0sZio1bOuxIVd4Jn3gsjRa-5RdKo2RlgLdw9uSR1c-fCwkOg3RJXdcXINUImVfmBcN2fZGX_FfZ_7yvNNVq6yum3a_Uet0RJ_46oks11Uf2N7Gda7IvzSC7B-88_BKL13EFGPJrxssdudKVJdc5u5EdITzhhWcw" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">煲閣!味道不錯,醬料讚,包裝設計有用心!整體 CP 值 4.5 分</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhVfS7EmS_4PXei7_PMtwPeY-9FNHsTOTIFRSD-dHHSCZul444IGWTeku_dnbxVJGOBtFDtUMdjAoTTKL7MKYPMhgt0PUAHv0gb0ghgWPYkHNvS6gUHw3CbRFTl-e6ZJaT0jIuSzF1c-IrBU7zhOxzNy-LZzlVeEvn7QqCDsATc3x7WOgV0YGJybA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="3024" data-original-width="4032" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEhVfS7EmS_4PXei7_PMtwPeY-9FNHsTOTIFRSD-dHHSCZul444IGWTeku_dnbxVJGOBtFDtUMdjAoTTKL7MKYPMhgt0PUAHv0gb0ghgWPYkHNvS6gUHw3CbRFTl-e6ZJaT0jIuSzF1c-IrBU7zhOxzNy-LZzlVeEvn7QqCDsATc3x7WOgV0YGJybA" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">這家也超好吃,但我忘記店名了 OAO</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhaN808M8lChvf3nMaaKD-mE4z_IAM1qA352R0eQqUUj4uNUwsDTRq2xPjtBV159a0gwDnvRgHZzczC67UzQ7PyfUn967igXQxMxqZ74tW4W7bD6q2uUZpcYZ_1LT-wXpczHoxSoaHalUNu5U20d5MqJqalTYX0HKSRihHbmjAHNDJM4v0yQE1SEg" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="3024" data-original-width="4032" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEhaN808M8lChvf3nMaaKD-mE4z_IAM1qA352R0eQqUUj4uNUwsDTRq2xPjtBV159a0gwDnvRgHZzczC67UzQ7PyfUn967igXQxMxqZ74tW4W7bD6q2uUZpcYZ_1LT-wXpczHoxSoaHalUNu5U20d5MqJqalTYX0HKSRihHbmjAHNDJM4v0yQE1SEg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">必須提前一天預約的告白餐桌,走健康路線</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj4qAI7ZocoalxYdEgBphwxedIXXuKhB6DpdE7lUsp-lLsQ6evBCmfCB3SbR3Rna7OHNOLep6VF2-n2GyyEXJnxDbDOYEGm2FmzG4OM-HX-5C-XcaUTGMoHeiPTAgdxSrlY6PH1TRRLtyps9V7gSx9wHEFiOAxA7Rqb601hHw1_z7xmMAtb2c6APg" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="3024" data-original-width="4032" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEj4qAI7ZocoalxYdEgBphwxedIXXuKhB6DpdE7lUsp-lLsQ6evBCmfCB3SbR3Rna7OHNOLep6VF2-n2GyyEXJnxDbDOYEGm2FmzG4OM-HX-5C-XcaUTGMoHeiPTAgdxSrlY6PH1TRRLtyps9V7gSx9wHEFiOAxA7Rqb601hHw1_z7xmMAtb2c6APg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">金爸爸 - 馬來西亞料理,品牌餐廳</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgTTEqftl4k5eNiQ3hbV-ScU0MBeiwxDQr3yCfEf_DT_c91uVtLPmHhGawjWvqoArcz7CvH09qX5R83H5r4OPESg_tZIWkLDooeoYeNrmavH3eApk0SFW3YK1GGw4QUDU0gCHKnOMF6bLi5UlNtL_OgwQ2eqqop_jk8_X8iqVFfebQiUF4vmDFxeA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="4032" data-original-width="3024" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEgTTEqftl4k5eNiQ3hbV-ScU0MBeiwxDQr3yCfEf_DT_c91uVtLPmHhGawjWvqoArcz7CvH09qX5R83H5r4OPESg_tZIWkLDooeoYeNrmavH3eApk0SFW3YK1GGw4QUDU0gCHKnOMF6bLi5UlNtL_OgwQ2eqqop_jk8_X8iqVFfebQiUF4vmDFxeA" width="180" /></a></div><div class="separator" style="clear: both; text-align: center;">起家雞 - 感謝主管P老大請客 :)</div><br /></div></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhnm7sv33WJW3il_UH1C6ZDxdqqromKjnXn5TyKopAY7qTVJaeSuIRDoPeT-zmkUF9R04dl3yC6YHGI4UBAw7ZICROY4mherfont2-afAkNhtdjzNWtW8ci-YIDzj-GPjZTweE0EhD6Xg9gZejBFU1EgyIkZenzK5UuFTtJ4D-71H3Dk8EGZqlFhA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="810" data-original-width="1086" height="239" src="https://blogger.googleusercontent.com/img/a/AVvXsEhnm7sv33WJW3il_UH1C6ZDxdqqromKjnXn5TyKopAY7qTVJaeSuIRDoPeT-zmkUF9R04dl3yC6YHGI4UBAw7ZICROY4mherfont2-afAkNhtdjzNWtW8ci-YIDzj-GPjZTweE0EhD6Xg9gZejBFU1EgyIkZenzK5UuFTtJ4D-71H3Dk8EGZqlFhA" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">(基隆) 甕仔雞!先電話訂餐,再過去外帶自取的話</div><div class="separator" style="clear: both; text-align: center;">來回大概半小時左右可搞定,搭配每人一份煎餅當主食,整隻雞夠四五個人分!</div><div><br /></div>5. 汐止運動中心樓下的 Subway </div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhLX91CBAQGOTP-Tw3Fs5Il466KhjK40pmwoxZYeZe-5hr8TgFe1fCqZX3I6efOh0zzpoyII7up6VxXNXhrDafY8lhV7pwZgNg64My-wvEao-XHkcYrCwQ7gcnm_cNFlepnBTjPyjN1DLw1EVhu4wdS6SBRrQAaDFOyGIXj1UBKVv54t_qUbAo0gQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="4000" data-original-width="3000" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEhLX91CBAQGOTP-Tw3Fs5Il466KhjK40pmwoxZYeZe-5hr8TgFe1fCqZX3I6efOh0zzpoyII7up6VxXNXhrDafY8lhV7pwZgNg64My-wvEao-XHkcYrCwQ7gcnm_cNFlepnBTjPyjN1DLw1EVhu4wdS6SBRrQAaDFOyGIXj1UBKVv54t_qUbAo0gQ" width="180" /></a></div><div class="separator" style="clear: both; text-align: center;">對!就是 Subway!陪伴我減肥的好幫手,4個多月瘦7公斤!</div></div><div><br /></div><div>6. 其他常吃的小吃店</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiLILPI-seX4q5d3kRFL_ab4T_twVsWvRNzV0V17snjFZMnRPt7QjBa-XIdyiA0s3OyxXPbtkN1CvhpyuGQno8cO0oKeZUbJPdw0EvmRVZXUTXXQWQCKNXAAfwKuM4LvY8_GgeZNLHZyHX6Xyi9PcvFuqx2wIISeLHU4KTufXJTw9OmnmlFmUyz3w" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="4032" data-original-width="3024" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEiLILPI-seX4q5d3kRFL_ab4T_twVsWvRNzV0V17snjFZMnRPt7QjBa-XIdyiA0s3OyxXPbtkN1CvhpyuGQno8cO0oKeZUbJPdw0EvmRVZXUTXXQWQCKNXAAfwKuM4LvY8_GgeZNLHZyHX6Xyi9PcvFuqx2wIISeLHU4KTufXJTw9OmnmlFmUyz3w" width="180" /></a></div><div class="separator" style="clear: both; text-align: center;">文昌記海南雞<br />CP值不錯,想不到吃什麼的時候很常點的店<br />用熊貓訂附一碗湯以及紫米粥點心</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgXsdqCCo6NfrnPfySjUUWmzI-8mNTq5oypw5UuSOubAkbLW8Px41yvEqNLEYj-qsXPcQWhhOIPgY0FVMFrx1o9MTWc2KnlJdo-LeAHYsUGLnxVKF7baJ5B67eG1BeN8GopZIza3Wk0qXjz3mFmgmM8MSJnEVc5eDRsKMaVejgwvqOvNCP03qWuOQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="3024" data-original-width="4032" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEgXsdqCCo6NfrnPfySjUUWmzI-8mNTq5oypw5UuSOubAkbLW8Px41yvEqNLEYj-qsXPcQWhhOIPgY0FVMFrx1o9MTWc2KnlJdo-LeAHYsUGLnxVKF7baJ5B67eG1BeN8GopZIza3Wk0qXjz3mFmgmM8MSJnEVc5eDRsKMaVejgwvqOvNCP03qWuOQ" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">家常煲仔飯!料多中規中矩,老闆很愛講幹話</div></div><div><br /></div><div><br /></div><div>另外,2021 有一陣子三級警戒到很緊繃的那段時間 WFH 都不能出門很悶,大家午餐時偶爾會開個線上會議來個吃播 XD!</div><div>會想分享這篇,主要也是想要紀錄一下在這家公司的這個團隊,大家一起工作一起過生活的各種面向,也是我最難忘且不太可能忘記的回憶之一 (看看肚子 ....)</div><div><br /></div><div>感謝同實驗室學弟Adam,在我最需要幫助的時候真的很可靠又給力!</div><div>感謝常常一起運動的夥伴們,JKW,Kartik 以及 Ricky教練無私的巨巨經驗分享!</div><div><br /></div><div><br /></div><div>下集待續 ... 下一篇:<a href="https://violin-tao.blogspot.com/2022/07/qnap_22.html">我在 QNAP 的日子(五)</a></div><div><br /></div>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-26600131228375141282022-07-07T08:33:00.009-07:002022-07-09T09:51:08.738-07:00[心得] 我在 QNAP 的日子(三)擴大經營罩大家庭!資料智能應用研發處!<p>接續上篇~ <a href="https://violin-tao.blogspot.com/2022/07/qnap-ai.html">我在QNAP的日子(二)</a></p><p>隨著人數越來越多,也做了一系列 AI 相關的題目一陣子後,名片上,座位上的 Title 就改了一個很帥氣的名字:"資料智能應用研發處 - 軟體開發一部"</p><p>帥!真的帥,覺得拿起名片煽一煽會有風 \@o@/ (?)</p><p>團隊知名度起來後,開始有各式各樣的合作,除了自家公司的人們外,也有跟同集團的其他子公司們合作的經驗,以及台大醫院等等</p><p>合作細節不能講太多,但有幾個有發新聞稿的公開事件可以分享~</p><p>由團隊中的 Rowan 大大與CDYY 當評審的台大腦瘤分割比賽!</p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="353" src="https://www.youtube.com/embed/xjW5P2TiO18" width="490" youtube-src-id="xjW5P2TiO18"></iframe></div><div><br /></div>我也沾了光,可以出外景去台大醫院活動現場幫忙當工作人員,協助參賽者一些關於我們主辦單位提供的雲端運算資源與相關環境建置等項目<div>重點是有 Pizza 可以吃!滿足!(食物導向程序猿是我~^^)</div><div><br /></div><div>另一個跟台大醫院合作的主題是皮膚科疾病的 AI-CDSS 系統 (<a href="https://epaper.ntuh.gov.tw/health/201908/special_3_1.html">新聞稿</a>),當初我自願接下這個案子的一大原因是,我本身有遺傳性的異味性皮膚炎,雖然不嚴重 (表妹們比較嚴重),但只要吃花生就會關節癢,偶爾會起疹子,想說多看點皮膚科醫生會有改善</div><div><br /></div><div>果然,在建構整個實驗與研究的過程中,頻繁地去醫院找詹醫師開會討論,看了很幾小時的皮膚科醫師後,我皮膚果然有改善了 ^^ (Magic!)</div><div>除此之外,也參與了好幾場台大醫神 Meeting,以及接觸了 FDA 法規相關討論與很多不同的學術上與商務上的戰略會議,算是另一種很難得的經歷,感謝威強電的 PM Jessica 帶我飛~</div><div class="separator" style="clear: both; text-align: center;"><a href="https://health.ntuh.gov.tw/health/NTUH_e_Net/NTUH_e_Net_no165/AI-CDSS%E7%B3%BB%E7%B5%B1%E6%88%90%E6%9E%9C%E7%99%BC%E8%A1%A8.pdf" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="504" data-original-width="544" height="296" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgULvha1AxKJnLbC20xtQOEVGYtvZFw9OApSu3RXHuRsYiGsqW2cQlRQpqxD3PRcPdqlCwidmSyvhy5YsKchOhMqPr5J1RTB4nkuI5puSs49S8zy47VEEnv-xjrsVqISkSp2xHk5qh9p6D7wd_s7H_6qfDFqGIi1rBSF9ZuPY3hBiiFEB_COLimbA/s320/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202022-07-06%20%E4%B8%8B%E5%8D%8811.30.18.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://health.ntuh.gov.tw/health/NTUH_e_Net/NTUH_e_Net_no165/AI-CDSS%E7%B3%BB%E7%B5%B1%E6%88%90%E6%9E%9C%E7%99%BC%E8%A1%A8.pdf" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="942" data-original-width="612" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivpo6KxOZDur9k4QQuL79ssKVqJLnynCPzkr4mvyPaWs9Gh51q0GigoMWhvVleAaiFdT2m6e1GhaTNzoRm82lQrDVfvk-cgSF3yJw09Q0zdTvlsLfeQ81MPe85nIFeebYQTbCKA2Du9tYClAgKSFVyFDKyuGL7VqGLsGAzFDeqtiB22TAB0jg7FA/w260-h400/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202022-07-06%20%E4%B8%8B%E5%8D%8811.30.28.png" width="260" /></a></div><div><br /></div><div>( p.s. 這個皮膚科 AI 模型目前部署在台大醫院裡面,皮膚各種疑難雜症首推台大醫院掛號詹醫師的門診! :D )</div><div><br /></div><div><div>除此之外我們團隊在 QNAP 自家產品的 NAS 上也弄出了幾個代表作<br />像是 <a href="https://www.qnap.com/zh-tw/software/qumagie">QuMagie</a> 跟 <a href="https://www.qnap.com/zh-tw/software/koiretail">KoiRetail</a> 等等,附上官網連結,給有興趣的人點進去看看囉</div><div><p>這段日子過的頗充實,大家也常常一起參加 Workshop 與 Conference 像是 NVIDIA GTC,Google Cloud Summit (2019),台灣資安年會,醫療科技展,COMPUTEX 等等</p><div class="separator" style="clear: both; text-align: center;"><a href="https://www.facebook.com/qnaperslife/posts/pfbid0978FHiBujzAZHeK6fsdxs1Y2vAmCc1RjKMpqt19U637smG2NGNBBpBk8A8cmc9P5l" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1266" data-original-width="2040" height="249" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQlgeZgrCXLv4hebeWrHBtGwS88MO1wVHsPhhq51UHl0yA5Kk-HalUMDXuHrk5qsYyPwZsU8O6zQEf0c0hxCAKBR3j3Hq8e8b_5LFrFODXK8B-Aa0yWeh07wuJd9V9ciavA7FKJNryIYTHzhXOc-gkxBONGvX4mScV9xXt1brt5V6TNyoxr2LtUA/w400-h249/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202022-07-07%20%E4%B8%8B%E5%8D%8811.56.46.png" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;">我主講的其中一場公司內部 workshop (From FB <a href="https://www.facebook.com/qnaperslife/posts/pfbid0978FHiBujzAZHeK6fsdxs1Y2vAmCc1RjKMpqt19U637smG2NGNBBpBk8A8cmc9P5l">QNAPer life</a>)</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://www.accupass.com/event/1905100743541122206904" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1060" data-original-width="2134" height="199" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbpkEliNMRwKDxwAdDEzv_DaZAvMqwg9QldFp6W0yara35UxVuWc6X5yC57pLTtqfBndtvs2Tg6GQlkEwBuYpTzM53vRLvPfy7jCxN9ofyLL3eHFQ6cmBRo5Hxjs06iR7wCfvLKpggo7J7Z0kc6HMGIvjAxD2axp8uYcpR30cWZNHYYTUttYo2pQ/w400-h199/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202022-07-07%20%E4%B8%8B%E5%8D%8811.59.58.png" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;">或是被派去講外部分享交流會活動</div><p>我覺得 AI 工程師的工作性質,帶有點藝術的元素在裡面,埋頭實驗有時候並不是這麼有用,反倒是多交流多看看其他人的作品與思路,可能就會不小心激發出好點子來突破盲點!</p><p>感謝這段時間一起合作過的醫師們,合作夥伴們以及一起支援活動與開發產品的新隊友們 - 詹智傑醫師,蕭輔仁醫師,Jessica,Matt,Kartik,小關 以及 AI Team 夥伴們<br /><br /></p><p>爽爽出外景的日子只到疫情大爆發前~ 現在回想起來挺懷念的 QQ</p><p><br /></p><p>下集待續... 下一篇: <a href="https://violin-tao.blogspot.com/2022/07/qnap-eat.html">我在QNAP的日子(四)</a></p></div></div>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-18050642533538130592022-07-06T07:55:00.002-07:002022-07-07T08:34:25.689-07:00[心得] 我在 QNAP 的日子(二)招兵買馬!雲端應用部的 AI 小組<p>上一篇:<a href="https://violin-tao.blogspot.com/2022/07/qnap_4.html">我在QNAP的日子(一)</a></p><p>人工智慧年會結束後,AI 人工智慧逐漸成為了火紅的關鍵字,其中又以深度學習,深度神經網路(DNN)等等 buzzword 最常被拿出來講,即便 NN 是個很久以前就存在的技術,但隨著顯卡的蓬勃發展,運算能力的進步終於可以讓這個技術嶄露頭角。</p><p>中研院也找了許多頂尖師資們辦了人工智慧學校,感覺就在短短幾個月的時間內,產業間各種會議上變成人人都在談 AI,有著無形的競爭壓力,深怕沒跟上這的趨勢就會被淘汰</p><p>於是某天,主管也在跟我討論,除了研究可以把這樣的技術應用在哪裡,同時也希望我可以幫忙找尋相關的人才,以及跟前來面試的人談談這方面的技術</p><p>於是我整合了這個部落格裡面相關的上課筆記,統整並設計了一份 AI 考卷!裡面大概就是問些Machine Learning 與 Deep Learning 會用到的核心數學觀念,以及一些實務上的開放性問答題</p><p>接到招募新人的工作時,我是頗興奮的!覺得未來可以打造一個類似以前在研究所時的那種,實驗室氛圍的團隊!也覺得自己居然受到主管重用,想到就覺得選擇來這樣的部門當替代役很讚!充實!</p><p>就這樣因為之前拍照的關係,人資與行銷團隊的人幾乎都認識我了,就開始有一系列的活動,像是去台大校園招募活動站攤位,分享工作心得,或是回去以前實驗室的 Meeting 跟學弟妹分享個 workshop,希望他們用在研究上試試看,順便留下一句,畢業後想當研替的話可以來找我 ^^!</p><p>除此之外的日常,就是自己趕快研究新技術外,也要被叫去改我出的考卷,然後跟來面的面試者討論他寫的答案,每次被叫去面談時,我都覺得是去打怪,跟高手過招時要戰戰兢兢不要丟公司的臉 XD </p><p>就結果來講滿成功的,招募到取多比我強好幾倍的大大們!雲端應用部的 AI 小組成團了!</p><p>第一個外部正式合作專案是跟榮總眼科部合作的黃斑部 OCT 影像辨識!當時頻繁跟著主管與 AI 小組一起去榮總跟醫師開會,討論與搜集 Data 設計實驗等等,並且手動處理搜集來的資料,做實驗,有結果再拿去討論,再進行策略調整,再實驗再討論,整個過程就跟做研究一樣,是我進公司前就熟悉在做的事 OK 的!</p><p>這次合作的成果挺不錯的(<a href="https://pubmed.ncbi.nlm.nih.gov/30662564/">Paper</a>),還被帶到各大活動展示,其中一場還有柯P呢!獲得大合照一張 !</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcctnLqwvZFBXeVMT0OfW-X4xD7zOGAZHx1ajKnsq3wsQcF6Amv41fRmzqrZEZ8FZkMXW472xaTBGV4YxwtR0Pz6imcdf3vqDMZy6NmY406rIEndmNYHVQI93z_uLJNTuMI1bFCtM76f5y8wu7nxo-X1YamwUKaBL1xLXRciyDYvAtdQGzNYyxRQ/s1668/%E6%88%AA%E5%9C%96%202022-07-02%20%E4%B8%8B%E5%8D%886.01.15.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1246" data-original-width="1668" height="299" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcctnLqwvZFBXeVMT0OfW-X4xD7zOGAZHx1ajKnsq3wsQcF6Amv41fRmzqrZEZ8FZkMXW472xaTBGV4YxwtR0Pz6imcdf3vqDMZy6NmY406rIEndmNYHVQI93z_uLJNTuMI1bFCtM76f5y8wu7nxo-X1YamwUKaBL1xLXRciyDYvAtdQGzNYyxRQ/w400-h299/%E6%88%AA%E5%9C%96%202022-07-02%20%E4%B8%8B%E5%8D%886.01.15.png" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"> 2018.6 at TICC</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCW7UsoJUS0u0ulq8mfKc9vrS_mJdYkb1RhNc-5IvFzjNZ-RfU6U0ScOja09LS4n12ZlLHwxCsvIPkXDv6e-x7fu4Mo9_ojZ4i1YSJNn0HDWK34P0ZlE9sibAb9-MzUI4SmS5ZChX4Gua8vlbKUktPBxh7WcTFmuw_1hx7MFagBbWgFnttvCfY-w/s1280/6DE50B1A-23CE-410A-82AC-F1A37495D55A.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="1280" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCW7UsoJUS0u0ulq8mfKc9vrS_mJdYkb1RhNc-5IvFzjNZ-RfU6U0ScOja09LS4n12ZlLHwxCsvIPkXDv6e-x7fu4Mo9_ojZ4i1YSJNn0HDWK34P0ZlE9sibAb9-MzUI4SmS5ZChX4Gua8vlbKUktPBxh7WcTFmuw_1hx7MFagBbWgFnttvCfY-w/w400-h300/6DE50B1A-23CE-410A-82AC-F1A37495D55A.jpg" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><p></p><p>到了 2018 暑假期間,部門來了個從 UC Irvine 回台灣放暑假的實習生,當時也進公司一段時間的我,被指派去帶實習生!剛好帶他玩了一些當時新推出的 Image Object Detection 演算法 - YOLO v3,應用在水果辨識,還架設了一個固定高度的裝置,可以進一步根據辨識出的框框大小計算與調校計算水果的直徑,判斷大小!</p><div class="separator" style="clear: both; text-align: center;"><span style="margin-left: 1em; margin-right: 1em;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnseAL4WT8kQLwcEpxZB2-9crTxRLLFZVFyEPULEpD0kplwUmmgTmohLdTYa4onG2cp8bJPOJA6NzoRqOwG3LqqOMDmL3qoa3dqqbdr1cB3uqo72xTdrdHoR8M_RU1pulmHrQ0J1h2eNWAuiui3yL-SQ6flttc11LIP3HtzVG-cf70OGj8sgq3SQ/s1280/4A1707EA-85DE-4C18-ADBA-BA3EEF111545.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1280" data-original-width="960" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnseAL4WT8kQLwcEpxZB2-9crTxRLLFZVFyEPULEpD0kplwUmmgTmohLdTYa4onG2cp8bJPOJA6NzoRqOwG3LqqOMDmL3qoa3dqqbdr1cB3uqo72xTdrdHoR8M_RU1pulmHrQ0J1h2eNWAuiui3yL-SQ6flttc11LIP3HtzVG-cf70OGj8sgq3SQ/s320/4A1707EA-85DE-4C18-ADBA-BA3EEF111545.jpg" width="240" /></a><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX9VxwJsmFeKl_SiZ9CMR8o_t028TsM-V8s209ILeHkWn8jO9ZQTnSS7LZDHVRgRI6BeMJXcyEwMwP2-NQ77nHxjs9TUdKUgQcWSa_aMfs0VzF4o2jOJreV3VCOUlbHGhTjSNGNF7-sYXf6MsO-Xa5xiHMC62ZPXT7Z-H-PUZSzkFnZr9JUu17aw/s1906/Screenshot%20from%202018-09-05%2012-04-10.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1074" data-original-width="1906" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX9VxwJsmFeKl_SiZ9CMR8o_t028TsM-V8s209ILeHkWn8jO9ZQTnSS7LZDHVRgRI6BeMJXcyEwMwP2-NQ77nHxjs9TUdKUgQcWSa_aMfs0VzF4o2jOJreV3VCOUlbHGhTjSNGNF7-sYXf6MsO-Xa5xiHMC62ZPXT7Z-H-PUZSzkFnZr9JUu17aw/w400-h225/Screenshot%20from%202018-09-05%2012-04-10.png" width="400" /></a></div></span></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; margin-left: 1em; margin-right: 1em; text-align: center;"><br /></div></div><p>這個專案後來被帶到上海工業博覽會上攤位上 Demo,以及帶著實習生一起出席 GCPUG 社群分享交流,算是個方面的經驗都帶到了,也有實際的成果展示,看到實習生實習結束的心得文超感動,覺得開心滿足!!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9jcjaFPBPed6zXBKn8_1f-iGNKr31ssBnMU_mKSTDHvJO5AZ3mKNLcUoaBJKuY4IoMzh8YgTdVr9tbz6fCrUwph-0uIVDUiV3X58kHvStVb4ZnlqI41Sem8hrJb-kmiZ42kwMd2SCl7rhkCehWwEEscVvimy8TXvZgzsiWjWLuajqHvmA7K6vpQ/s2048/42182298_1032995820203621_4889006597826674688_n.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9jcjaFPBPed6zXBKn8_1f-iGNKr31ssBnMU_mKSTDHvJO5AZ3mKNLcUoaBJKuY4IoMzh8YgTdVr9tbz6fCrUwph-0uIVDUiV3X58kHvStVb4ZnlqI41Sem8hrJb-kmiZ42kwMd2SCl7rhkCehWwEEscVvimy8TXvZgzsiWjWLuajqHvmA7K6vpQ/s320/42182298_1032995820203621_4889006597826674688_n.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">上海工業博覽會 Demo</div><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRTBPdcg6aGt6e6K16z6Of5Xu5LUFPetxWw8yKl_-6TJqCk24PLIHqYLaCRS8Wd4Wvz3YY693Gl0d5tdDNmM9AIbP1rMItk7eaVYb4LA1meIBX7JNVLJvGSgH0mP5Vx0WatFBIRdX_JG2Hm2WaCDucXDNDBeur2nKS53B7CroHa5zrlo-y0jKXWA/s4096/41682329_2142930785947012_5094637073474781184_n.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3072" data-original-width="4096" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRTBPdcg6aGt6e6K16z6Of5Xu5LUFPetxWw8yKl_-6TJqCk24PLIHqYLaCRS8Wd4Wvz3YY693Gl0d5tdDNmM9AIbP1rMItk7eaVYb4LA1meIBX7JNVLJvGSgH0mP5Vx0WatFBIRdX_JG2Hm2WaCDucXDNDBeur2nKS53B7CroHa5zrlo-y0jKXWA/w400-h300/41682329_2142930785947012_5094637073474781184_n.jpg" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;">認真又優秀的實習生 GCPUG 分享 (2018.09.14)</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="308" src="https://www.youtube.com/embed/kUfOGrbhFYk" width="370" youtube-src-id="kUfOGrbhFYk"></iframe></div><div class="separator" style="clear: both; text-align: center;">GCPUG Meetup Object Detection Demo "比愛心"召喚神龍! </div><div class="separator" style="clear: both; text-align: center;"><br /></div><p>感謝 GCPUG 社群大大 Cage 掌櫃分享許多 workshop 的資訊,三不五時帶我們去101 77樓的 Google 辦公室白吃白喝聽分享會,開心~ <br />感謝 AI Team 最威猛神隊友們的降臨與各種 carry - Rowan大大與CDYY aka "RC語音!",Rita 大姐頭 以及 JKW巨巨<br />感謝陸陸續續一起來到雲端應用部當兵的研替弟兄們:豪大大,(泳池)老闆Freddy,平頭大哥,(比特幣)教主Gary<br />以及 NTU CKLab 實驗室U秀的學弟 Adam 在 2018 年底也剃頭加入新兵的行列了可喜可賀! ^_^<br /><br /></p><p>下集待續 ... 下一篇:<a href="https://violin-tao.blogspot.com/2022/07/qnap_7.html">我在 QNAP 的日子(三)</a></p>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-40530500756205475852022-07-05T22:25:00.002-07:002022-10-23T21:11:52.184-07:00[採譜] 周杰倫 - 最偉大的作品!Violin transcription by yuntao<p>今日 (7/6) 中午 12:00 上架的周杰倫新歌 - 最偉大的作品! </p><p>久違的 Jay 式經典風格真香!覺得懷念感動!</p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="364" src="https://www.youtube.com/embed/1emA1EFsPMM" width="481" youtube-src-id="1emA1EFsPMM"></iframe></div><p>來採個譜紀念一下,給小提琴手們的 open source code </p><p>喜歡的話請不吝給星星鼓勵鼓勵 😄😄</p><div>謝謝大家~</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWz2wlLtKIFVoiZgiEqyJmDrgjrBpGI2zhiYx_t_r6ruZzGBrjPPsMxzY_wQb80OC37KT6IsyjU-v1WLCypWlx3TjrACexT1rlYPVmZ5r9e_CA9qKB25PGP654XWocegU3Fwp5vVHTkeKCoFRNz1Nxvi14xXhJAlohaK67Tjx5_8zW6epeALjvsQ/s1398/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202022-07-06%20%E4%B8%8B%E5%8D%8812.52.32.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1398" data-original-width="1284" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWz2wlLtKIFVoiZgiEqyJmDrgjrBpGI2zhiYx_t_r6ruZzGBrjPPsMxzY_wQb80OC37KT6IsyjU-v1WLCypWlx3TjrACexT1rlYPVmZ5r9e_CA9qKB25PGP654XWocegU3Fwp5vVHTkeKCoFRNz1Nxvi14xXhJAlohaK67Tjx5_8zW6epeALjvsQ/w589-h640/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202022-07-06%20%E4%B8%8B%E5%8D%8812.52.32.png" width="589" /></a></div><div class="separator" style="clear: both; text-align: left;"><h3>相關文章整理</h3><ul><a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html" target="_blank"></a><li><b><a href="https://violin-tao.blogspot.com/2018/07/musescore.html" target="_blank">[筆記] Musescore 打譜軟體使用備忘錄</a></b><a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html" target="_blank"></a></li><li><a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html" target="_blank"><b>[筆記] Markdown 打譜 - ABC notation 初體驗</b></a></li><li><a href="https://violin-tao.blogspot.com/2022/10/abc-notation.html" target="_blank"><b>[筆記] 使用 ABC Notation 採譜 周杰倫 - 最偉大的作品</b></a></li><li><a href="https://violin-tao.blogspot.com/2022/07/violin-transcription-by-yuntao.html" target="_blank"><b>[採譜] 周杰倫 - 最偉大的作品 violin transcription by yuntao</b></a></li><li><b><a href="https://violin-tao.blogspot.com/2015/02/ableton-live-resolume-arena.html" target="_blank">[筆記] 連接Ableton Live 與 Resolume Arena</a></b></li><li><b><a href="https://violin-tao.blogspot.com/2014/02/logic-pro-x-mac.html" target="_blank">[筆記] Logic pro x 快速鍵 (mac)</a><br /> </b></li><a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html" target="_blank"></a><li><a href="https://violin-tao.blogspot.com/2019/07/markdown-abc-notation.html" target="_blank"></a><a href="https://violin-tao.blogspot.com/2016/12/blog-post.html" target="_blank"><b>音樂訊號分析相關資源整理</b></a></li><li><a href="https://violin-tao.blogspot.com/2016/05/mac-afplay.html" target="_blank"><b>[筆記] Mac內建播放聲音指令 afplay</b></a></li><li><a href="https://violin-tao.blogspot.com/2017/05/ffmpeg-wav-mp3.html" target="_blank"><b>[筆記] 使用 ffmpeg 將 wav 轉成 mp3</b></a></li><li><b><a href="https://violin-tao.blogspot.com/2014/02/visualizing-sound.html" target="_blank">[筆記] Visualizing Sound 聲波圖概念</a><br /> </b></li><li><b><a href="https://violin-tao.blogspot.com/2014/03/20140304.html" target="_blank">[筆記] 全球音樂文化 2014/03/04</a> (日本音樂文化)</b></li><li><b><a href="https://violin-tao.blogspot.com/2014/03/20140311.html" target="_blank">[筆記] 全球音樂文化 2014/03/11</a> (蒙古與西藏)</b></li><li><b><a href="https://violin-tao.blogspot.com/2014/03/20140318.html" target="_blank">[筆記] 全球音樂文化 2014/03/18</a> (印尼甘美朗音樂與流行音樂)</b></li><li><a href="https://violin-tao.blogspot.com/2014/03/20140325.html" target="_blank"><b>[筆記] 全球音樂文化 2014/03/25 印度古典音樂與電影音樂</b></a></li><li><a href="https://violin-tao.blogspot.com/2014/04/20140401.html" target="_blank"><b>[筆記] 全球音樂文化 2014/04/01 阿拉伯與伊斯蘭世界</b></a></li><li><a href="https://violin-tao.blogspot.com/2014/04/20140408.html" target="_blank"><b>[筆記] 全球音樂文化 2014/04/08 中亞諸國:絲路上的音樂</b></a></li><li><a href="https://violin-tao.blogspot.com/2014/04/20140415.html" target="_blank"><b>[筆記] 全球音樂文化 2014/04/15 非洲:傳統與蛻變</b></a></li><li><a href="https://violin-tao.blogspot.com/2014/04/20140422.html" target="_blank"><b>[筆記] 全球音樂文化 2014/04/22 歐洲</b></a></li><li><a href="https://violin-tao.blogspot.com/2014/05/20140506.html" target="_blank"><b>[筆記] 全球音樂文化 2014/05/06 北美洲</b></a></li><li><b><a href="https://violin-tao.blogspot.com/2014/05/20140513.html" target="_blank">[筆記] 全球音樂文化 2014/05/13 拉丁美洲</a></b></li><li><b><a href="https://violin-tao.blogspot.com/2014/04/raga-beats.html" target="_blank">[心得] Raga Beats -- 印度塔布拉鼓演奏音樂會</a> (期中作業)</b></li><li><b><a href="https://violin-tao.blogspot.com/2014/06/blog-post.html" target="_blank">全球音樂文化 期末報告 -- 耶路薩冷現代爵士作曲家作品中傳統音樂元素探索 (節錄)</a></b></li></ul><p><br /></p></div><div><br /></div>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-70777252224425610342022-07-04T16:38:00.006-07:002022-07-06T07:56:50.451-07:00[心得] 我在 QNAP 的日子(一)置板凳!雲端應用部報到!<p>接續上一篇:<a href="https://violin-tao.blogspot.com/2022/07/qnap.html">我在 QNAP 的日子(零)</a></p><p>面試完後,埋頭忙論文到終於畢業入伍,就這樣又過了一年</p><p>研發替代役只需要去成功嶺新訓完就可以進公司了!</p><p>但新訓還是要剃頭的!剛進公司的新兵看頭髮長度就知道很菜 😂</p><p>進公司後才發現!</p><p>哇,我居然是這個部門的第一個新兵!其他前輩全部都是正職,看來這部門真的很新!不錯不錯!過了一個月後晚我一踢入伍新訓的 Leo 大大也來報到了!於是我們兩個就被坐隔壁變成一個新人小組!</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZLzNj9Cnbo1bP4h-74u3rVdCZXtcEMLk0wZfeq84oxTcAv1Y0v_5pHj1WQ54qaa-PjgrmxihmtAYe4rdab37BWY-HIhC4WPTxugpqDmA7sCOONJjr7jnfg_ukSIrFQRva2m00hFrhKka-mHDHiG5H17DZSw3_FwewD0j-yCJbPpVtSKpZfrkXQw/s1682/%E6%88%AA%E5%9C%96%202022-05-18%20%E4%B8%8B%E5%8D%881.02.04.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1358" data-original-width="1682" height="323" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZLzNj9Cnbo1bP4h-74u3rVdCZXtcEMLk0wZfeq84oxTcAv1Y0v_5pHj1WQ54qaa-PjgrmxihmtAYe4rdab37BWY-HIhC4WPTxugpqDmA7sCOONJjr7jnfg_ukSIrFQRva2m00hFrhKka-mHDHiG5H17DZSw3_FwewD0j-yCJbPpVtSKpZfrkXQw/w400-h323/%E6%88%AA%E5%9C%96%202022-05-18%20%E4%B8%8B%E5%8D%881.02.04.png" width="400" /></a></div>一進到部門時,也不知道要做啥,剛好那個時候 KTV 已經幾乎完工了,跟一年前的狀況大不相同,不過主管看我們碩論是跟 ML 有相關,就開始研究 Audio Fingerprinting 還有影像的 Codec 相關內容~<p>多媒體資料分析是我們一開始接觸的領域,想要應用在直播跟KTV上面,至於做的細節就不詳述啦!就這樣順利度過了三個月,完成了我們第一份新人報告!</p><p>當時那一年是 Alpha Go 新聞剛出來的 AI 元年!大家都在關注 Alpha Go 跟棋王李世乭的對決!</p><p>Deep Learning 領域也在那時候獲得超大的關注</p><p>於是我這個還沒有正式專案的新兵,也開始當新技術研究的先鋒部隊!由於我研究所用的都是傳統電腦視覺的方法取 Feature 搭配一些常見的 ML 分類器去做實驗</p><p>Deep Learning 相關方法就是從零開始看課程學,邊看邊做筆記,做完筆記也順便整理整理,像當年在學校準備考試那樣放上來給自己查看用! (可以看看部落格的歷史文章日期就知道筆記年份有點久遠了 XD) </p><p>不過也很感謝主管 Peter 給了我很多的研究時間,以及研究經費,可以買書,出去參加研討會,課程講座等等,讓我自由地發想可以拿來實驗的素材,想法等等。</p><p>我在公司第一個作品就是自己發想小專案 -> 比愛心辨識!因為我想說大家拍照時最常見的手勢就是比愛心,或許可以透過這樣的方式找出使用者在 NAS 上最想要回味與珍藏的照片</p><p>當時的 Object Detection 火紅的方法是剛出來就宣稱速度效能 CP 值超讚的 YOLO V2 !</p><p>由於比愛心手勢沒有公開的 dataset 可以用,我就帶著手機一個一個拍,幾乎把全公司的同事們 (<strike>美女</strike>們) 都拍了一輪 (<strike>自肥</strike>),加上臉書私訊到處找朋友要愛心照片,覺得蒐集資料真是歡樂,工作開心!感謝當年提供照片的朋友們同事們 😇😇😇<br /></p><p>偷渡一下當年朋友提供的照片以及我的模型辨識成果 <strike>騙個讚 </strike></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuQn6l50VuqkJAD-z9YJ7ui4QGcu9CZwLg92uM7lUIRbGkEL-jBqS_rUIxrKOKo6EyFF8BhaPNW7v22qLNHIAiGewyOGB4Ou21WLddJ9jmJILNpy6vsnMgLv3HxTRva7WuipzwWIslleYkQmUjJoXUqZQ2XorMaw2ZHVjiVMDtSe8UfrBOCumhAA/s656/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202022-07-04%20%E4%B8%8B%E5%8D%8811.44.42.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="498" data-original-width="656" height="243" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuQn6l50VuqkJAD-z9YJ7ui4QGcu9CZwLg92uM7lUIRbGkEL-jBqS_rUIxrKOKo6EyFF8BhaPNW7v22qLNHIAiGewyOGB4Ou21WLddJ9jmJILNpy6vsnMgLv3HxTRva7WuipzwWIslleYkQmUjJoXUqZQ2XorMaw2ZHVjiVMDtSe8UfrBOCumhAA/s320/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202022-07-04%20%E4%B8%8B%E5%8D%8811.44.42.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRpdy6KvZjeqmIeALTFMYjvUsKU2cF6ayENqajowBEos1EEq8PEtXcoiwD--qJ4LbjQHg9IrjcqAUxV3NQYSrYG574I-5clzwkJuNMMBq_mgjhPRNUV3g6PaLlk3-F2Dk7ad1dBcRWC1gv3CaaF-nUwX_VtnlupBja8fPIdbQ48mVruAGx4mg01A/s582/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202022-07-04%20%E4%B8%8B%E5%8D%8811.46.34.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="400" data-original-width="582" height="220" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRpdy6KvZjeqmIeALTFMYjvUsKU2cF6ayENqajowBEos1EEq8PEtXcoiwD--qJ4LbjQHg9IrjcqAUxV3NQYSrYG574I-5clzwkJuNMMBq_mgjhPRNUV3g6PaLlk3-F2Dk7ad1dBcRWC1gv3CaaF-nUwX_VtnlupBja8fPIdbQ48mVruAGx4mg01A/s320/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202022-07-04%20%E4%B8%8B%E5%8D%8811.46.34.png" width="320" /></a></div><p></p><p>就這樣很意外地實驗頗順利!我總共做了四個類別,有大愛心,小愛心,手指愛心,跟公司的 QNAP Logo ! 每個類別蒐集了至少300張左右,整理完資料後,只花大約兩三週的時間 Train 出來的 Demo 效果就挺不錯的 (年代久遠忘記數據了)<br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4cGyGQM9DRVFHEhRttxPLXOBzQ87SUMk79fRF1xGIzDq3Z9IKg34uwEa3fyEW-HumIvpC3_ItC3z3Pj_1PAAPWXAyhZEDMZuz54LnfcsghRG5oWeYz9N5c9B4lHnfoKNDbsXjBEYedSA1fKkuFQSYS7WFpkD-mD3UAwUzxLVLsqlzKs_lygB-ww/s1306/%E6%88%AA%E5%9C%96%202022-05-18%20%E4%B8%8B%E5%8D%881.02.36.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1064" data-original-width="1306" height="261" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4cGyGQM9DRVFHEhRttxPLXOBzQ87SUMk79fRF1xGIzDq3Z9IKg34uwEa3fyEW-HumIvpC3_ItC3z3Pj_1PAAPWXAyhZEDMZuz54LnfcsghRG5oWeYz9N5c9B4lHnfoKNDbsXjBEYedSA1fKkuFQSYS7WFpkD-mD3UAwUzxLVLsqlzKs_lygB-ww/s320/%E6%88%AA%E5%9C%96%202022-05-18%20%E4%B8%8B%E5%8D%881.02.36.png" width="320" /></a></div><br /><p>由於實驗除了在桌機上弄,部門也想要推一個可以直接在 NAS Server上面做 AI 模型實驗的平台,目標是只要你購買的 NAS 機型可以插顯卡,就可以直接在存放 Private Data 的 NAS Server 上面訓練 AI,於是被分配加入了<b>大王技術長 Andy</b> 的小團隊,協助一起完成把 Jupyter Notebook 部署在 NAS 上的應用!弄了一個基本的 MNIST 辨識的 Keras 範例當 Demo 用!(點選圖片連結可以看到詳細介紹唷~)</p><p></p><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://www.qnap.com/zh-hk/how-to/tutorial/article/%E5%A6%82%E4%BD%95%E9%80%8F%E9%81%8E-jupyterhub-%E4%BD%BF%E7%94%A8-jupyter-notebook" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="988" data-original-width="2020" height="196" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZl9w09uXRHaPErFkbprA1VJWAqHo8H0F9cfpuHHX2m4I6P8R_vrvx52Bpc2xnEYsS0JIAV4vHEpSITbMGlJbjOqATHwXe40I-1PXWFhdTDogbpMaGfFdPl3a1TFA_YNWdS1dOn-Jtmzh2PqOMtl27CoPlSIpZipsgdr8ZbhyZHVT_MTNVac9jXw/w400-h196/%E6%88%AA%E5%9C%96%202022-05-18%20%E4%B8%8B%E5%8D%881.18.04.png" width="400" /></a></div><br /><p></p><p>就這樣,帶著比愛心的 JupyterHub 還參展了辦在中研院的 "2017人工智慧年會",在攤位上讓大家玩愛心拍照以及試用 JupyterHub,開心~</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmGf464UkldMG1SaGi1AZ1XLqU8hVgmu_q65maCJ3DYlEkBTA7qBIY05TOcWdFGIMIgcyRQf9ckPiYEcDvbzmne9Py9-yY_kMODQOFEMNjpgUlo-6QWqdEUtjTOHlGzK-cspap1m22YiiSkY1wwxi9d7ZUfbo84E-U7ce-vXslyHOJXW41IcbW0A/s1220/%E6%88%AA%E5%9C%96%202022-05-18%20%E4%B8%8B%E5%8D%881.25.35.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="642" data-original-width="1220" height="168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmGf464UkldMG1SaGi1AZ1XLqU8hVgmu_q65maCJ3DYlEkBTA7qBIY05TOcWdFGIMIgcyRQf9ckPiYEcDvbzmne9Py9-yY_kMODQOFEMNjpgUlo-6QWqdEUtjTOHlGzK-cspap1m22YiiSkY1wwxi9d7ZUfbo84E-U7ce-vXslyHOJXW41IcbW0A/s320/%E6%88%AA%E5%9C%96%202022-05-18%20%E4%B8%8B%E5%8D%881.25.35.png" width="320" /></a> <br /></div><p><br /></p><p>感謝一開始帶我認識公司與部門的 Matt 跟一起研究影音 codec 的老戰友 Leo </p><p>感謝大王技術長桌上一大堆的哆拉A夢 哥吉拉 阿斯拉 還有各種 (偷偷亂買不敢帶回家怕被老婆罵的) 玩具們 ^^,為辦公室帶來許多活力與溫度,同時也帶領我們小組實際地 run scrum 與 spring planning 也成功推出新產品,整個過程是個很讚的體驗!</p><p>感謝前輩們的罩顧與鼓勵~Randy,首領,龍哥,大師姐,JJ 團長,Cage,掌櫃,振偉,顏琪,Roth ...</p><p><br /></p><p> 下集待續 ... 下一篇:<a href="https://violin-tao.blogspot.com/2022/07/qnap-ai.html">我在 QNAP 的日子(二)</a></p>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-80629766588125575342022-07-04T08:29:00.004-07:002022-07-04T16:55:24.048-07:00[心得] 我在 QNAP 的日子(零)序章<p>關於面試:<br /></p><p>當初研究所期間,什麼都不會的我,只會一點點的Python,一點點的JS,跟很久沒用的C以及修過課剛當完一學期 OOP 助教的 Java,做了一點點的 Android App</p><p>至於碩論的部分當時的研究啥也沒做出來,要說程式的專長也沒有哪個是特別熟的,大概就只有到處亂玩,東沾一點西沾一點邊的皮毛,像是參加 Resberry pi 的 workshop,RoR Web 開發的 workshop,或是玩一點 Arduio IoT 跟手機結合的一些相關主題的黑客松,用一些現成的遊戲開發工具玩一玩基本的手遊開發等等 ~ </p><p>升碩二的暑假,跟著流行開始面試找研發替代役工作,目標是等研究所畢業後,就可以直接接研替</p><p>還記得那時第一次註冊104帳號,填個資料公開履歷,過幾分鐘後就來了第一個接觸我的人資,是群暉科技(Synology)!業界裡面他們的人資是出了名的快,馬上就敲定了面試時間,非常的有效率</p><p>當時根本搞不清楚狀況的我,也沒有去爬文 !! 就傻傻地去面試了,後來查了一下資料才發現,哇! 他們是出了名的大魔王,要現場考超硬的白板題!我到了現場才知道,當時就憑直覺,硬著頭皮解了幾題,結果幸運地被我過了兩關,但都挺吃力的超級勉強,到了第三關好不容易弄出一半,靠著提示解了好久才弄出一個版本,終於停在第三關結束後宣告出局!</p><p>經過了第一戰大魔王面試的洗禮,其實對於接下來的面試是很有幫助的,處於一種:"我臉皮變厚了就沒啥好怕的" 狀態,陸陸續續跑了好多間面試大地,有Cyberlink,HTC,ASUS,晶睿通訊,大猩猩科技,廣達集團,佳能科技,正文科技等等,各種類型的都談,多到不及備載</p><p>就在面試大地跑的昏頭轉向時,有一天在實驗室聽到了個小道消息,耳聞有一家 QNAP 也有開研替職缺,給新人的待遇很不錯,而且地址還是在汐止,離我家很近!聽著聽著我就立馬投履歷去試試 (當時的我連 NAS 是啥都不知道, 想說就接觸看看先~~)</p><p>到了現場,除了邏輯題目是我擅長的以外,專業考卷裡的幾乎都是系統類型的題目,而且還是我很久沒碰的 C,想當然是寫得非常地淒慘,當我考完,打算收拾收拾放棄離開時,在電梯口,人資姊姊 Chloe 跑來問候我談的怎麼樣,並且聽完我的狀況後,突然靈機一動,跟我介紹說,有個新的部門位於五樓,部門的主管 Peter 之前有過矽谷工作經驗,而且還是個音樂愛好者,有在聽董事長樂團喔!要不要談談看! <br /></p><p>喔喔喔!有聽團這點是在太酷了,立馬燃起了我的興趣,談了這麼多家,還第一次有這樣的主管,感覺可以試試!(當時我還把這個好資訊分享給一起參加 HTC 面試時認識的 Leo,他同時也是玩吉他的!)<br /></p><p>當時人資又跟我預約了下一次面試的時間,並且第二次挑戰 QNAP 時,我寫了一份 JS 考卷,太好了裡面都是問 JS 相關問題,沒有太系統的東西!就這樣寫完後,順利地見到了部門主管 Peter,然後簡介了下我在校期間參與過的很多相關經驗,無論是工作坊,黑客松,或是社團經驗,我都 All - in 出來,想說就拼這次了!看能不能錄取我!</p><p>以下 Peter 簡稱 P老大</p><p>第一次見到 P老大時,他給我一種很特別的活力,人非常地友善,而且有種美派的自由創新風格,據說部門當時的產品還跟音樂相關,是一個可以在NAS上唱 KTV 的應用!我當時也覺得我在這個部門應該可以有比去其他地方有更多的發揮空間</p><p>就這樣我被錄取了! 開心了好幾天!:D :D :D(過了不久吉他手 Leo 也面試上了同部門 ^^!)<br /></p><p>回想起來整個過程,覺得超感謝當時的 HR Chloe 姊 ,幸好有她出手救我,幫我安排另一次的面談,不然我不意外的話應該是在被刷掉的名單當中 😂 <br /></p><p>還有面試大地過程中幫助過我的貴人們~<br /></p><p>感謝當時面試大地時遇過的每一位面試官們,特別感謝當時面的HTC團隊主管 Felka 的勉勵 <br /></p><p>感謝實驗室裡的4N大大(創辦QSearch超威猛!)給了我很多的面試經驗分享,在心態建立上的最給力的強心針!<br />NTU ESOE CKLab 超讚的實驗室值得推薦!歡迎來當學弟妹! <a href="http://www.cklab.org/index.html">http://www.cklab.org/index.html</a></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="http://www.cklab.org/" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1422" data-original-width="2732" height="167" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZgoGELT3Y_gzK5b6canjxPJJLxWqLnD6TIbcGJcIXX7RkA4wTHjegKuI1XAlAURwK51z5KTjxJ8fgAVaNLmk7c7_GUG8BAwJ0FnULhZ35nxg9y3RDskEghNQNcQNsqPtZDqdCE0Y0CRa4pjkZyAnSaRGA23vUq5sNUf-Q1RwsR35UF9Y1E5mrWQ/s320/%E6%88%AA%E5%9C%96%202022-05-18%20%E4%B8%8B%E5%8D%881.30.48.png" width="320" /></a></div> <p></p><p>下集待續 ... </p><p>下一篇 <a href="https://violin-tao.blogspot.com/2022/07/qnap_4.html">我在QNAP的日子(一)</a></p>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-90049244719149402132022-01-13T08:34:00.007-08:002022-07-05T22:40:42.485-07:00[筆記] Python multi-process task in Docker Container<h1 class="part" data-endline="1" data-id="Python-multi-process-task-in-Docker-Container" data-startline="1" id="Python-multi-process-task-in-Docker-Container" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 16px; padding-bottom: 0.3em;"><span data-position="2" data-size="45" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">Python multi-process task in Docker Container</span></h1><h3 class="part" data-endline="3" data-id="container-setting" data-startline="3" id="container-setting" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/ryqJhYHGTDe5lnGLy1RZjQ?view#container-setting" smoothhashscroll="" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="container-setting"><span class="octicon octicon-link" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; -webkit-font-smoothing: antialiased; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="53" data-size="17" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">container setting</span></h3><p class="part" data-endline="4" data-position="71" data-size="0" data-startline="4" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="71" data-size="20" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">啟動 container 時要做一些設定</span></p><p class="part" data-endline="7" data-position="93" data-size="0" data-startline="6" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="93" data-size="26" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">假設我的機器有個 8 核心 CPU,以及多張 GPU</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><span data-position="120" data-size="29" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">要讓 container 使用全部運算資源的話可以這樣設定</span></p><pre class="part" data-endline="10" data-position="150" data-startline="8" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">docker run --gpus all --cpus 8 --cpuset-cpus 0-7 (後略...)
</code></pre><p class="part" data-endline="11" data-position="207" data-size="0" data-startline="11" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="207" data-size="4" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">參數設定</span></p><ul class="part" data-endline="17" data-startline="12" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="17" data-position="214" data-size="0" data-startline="12" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;"><code data-position="215" data-size="17" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: rgba(0, 0, 0, 0.04); border-color: rgba(231, 231, 231, var(--tw-border-opacity)); border-radius: 3px; box-sizing: border-box; color: inherit; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; margin: 0px; padding: 0.2em 0px;">--cpuset-cpus 0-7</code><ul style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; margin-bottom: 0px; margin-top: 0px; padding-left: 2em;"><li data-endline="13" data-position="241" data-size="0" data-startline="13" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;"><span data-position="241" data-size="21" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">8 核心的 cpu 編號從 0 開始到 7</span></li><li data-endline="17" data-position="269" data-size="0" data-startline="14" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; padding-top: 0.25em;"><span data-position="269" data-size="25" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">如果想指定 cpu 特定某幾個核心的話可以這樣改:</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><code data-position="298" data-size="17" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: rgba(0, 0, 0, 0.04); border-color: rgba(231, 231, 231, var(--tw-border-opacity)); border-radius: 3px; box-sizing: border-box; color: inherit; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; margin: 0px; padding: 0.2em 0px;">--cpuset-cpus 0,7</code><span data-position="316" data-size="13" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;"> 使用第一個跟最後一個核心</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><code data-position="333" data-size="21" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: rgba(0, 0, 0, 0.04); border-color: rgba(231, 231, 231, var(--tw-border-opacity)); border-radius: 3px; box-sizing: border-box; color: inherit; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; margin: 0px; padding: 0.2em 0px;">--cpuset-cpus 0,2,4,6</code><span data-position="355" data-size="16" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;"> 使用第 1,3,5,7 個核心</span></li></ul></li></ul><p class="part" data-endline="18" data-position="385" data-size="0" data-startline="18" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="385" data-size="5" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">ref: </span><a href="https://docs.docker.com/config/containers/resource_constraints/" rel="noopener" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; text-decoration-line: none;" target="_blank">https://docs.docker.com/config/containers/resource_constraints/</a></p><h3 class="part" data-endline="20" data-id="python-使用-multiprocessing" data-startline="20" id="python-使用-multiprocessing" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/ryqJhYHGTDe5lnGLy1RZjQ?view#python-%E4%BD%BF%E7%94%A8-multiprocessing" smoothhashscroll="" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="python-使用-multiprocessing"><span class="octicon octicon-link" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; -webkit-font-smoothing: antialiased; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="459" data-size="25" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">python 使用 multiprocessing</span></h3><p class="part" data-endline="22" data-position="487" data-size="0" data-startline="22" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="487" data-size="10" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">查看 cpu 核心數</span></p><pre class="part" data-endline="28" data-position="498" data-startline="23" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code class="python hljs" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;"><span class="hljs-keyword" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #a71d5d;">import</span> multiprocessing
cpus = multiprocessing.cpu_count()
<span class="hljs-built_in" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #005cc5;">print</span>(cpus) <span class="hljs-comment" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #969896;"># 8</span>
</code></pre><p class="part" data-endline="31" data-position="588" data-size="0" data-startline="30" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="588" data-size="35" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">假設我們有個任務名稱叫做 sleep_task,執行每個運算時都會睡一秒</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><span data-position="625" data-size="21" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">如果數據量超大,使用單個核心會等到天荒地老</span></p><pre class="part in-view" data-endline="74" data-position="647" data-startline="32" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code class="python hljs" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;"><span class="hljs-keyword" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #a71d5d;">import</span> time
<span class="hljs-comment" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #969896;"># task 內容: 睡一秒後再做放大兩倍的運算</span>
<span class="hljs-keyword" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #a71d5d;">def</span> <span class="hljs-title function_" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #795da3;">sleep_task</span>(<span class="hljs-params" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">input_list</span>):
res = []
<span class="hljs-keyword" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #a71d5d;">for</span> x <span class="hljs-keyword" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #a71d5d;">in</span> input_list:
time.sleep(<span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">1</span>)
res.append(x*<span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">2</span>)
<span class="hljs-keyword" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #a71d5d;">return</span> res
<span class="hljs-keyword" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #a71d5d;">if</span> __name__ == <span class="hljs-string" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #df5000;">'__main__'</span>:
<span class="hljs-comment" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #969896;"># Single-process start</span>
start_time = time.time()
input_list = [<span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">1</span>, <span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">2</span>, <span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">3</span>, <span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">4</span>, <span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">5</span>, <span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">6</span>, <span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">7</span>, <span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">8</span>, <span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">9</span>, <span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">10</span>, <span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">11</span>, <span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">12</span>, <span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">13</span>, <span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">14</span>, <span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">15</span>, <span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">16</span>]
sp_result = sleep_task(input_list)
<span class="hljs-comment" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #969896;"># Single-process result</span>
<span class="hljs-built_in" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #005cc5;">print</span>(<span class="hljs-string" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #df5000;">'sp_result'</span>, sp_result)
<span class="hljs-comment" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #969896;"># 因為 input_list 有 16 個元素,每個元素運算需要 1 秒,所以大概會花 16 秒左右</span>
<span class="hljs-built_in" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #005cc5;">print</span>(<span class="hljs-string" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #df5000;">'sp_result time cost:'</span>, time.time()-start_time)
<span class="hljs-comment" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #969896;"># Multi-process start</span>
start_time = time.time()
p = multiprocessing.Pool()
results = []
<span class="hljs-keyword" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #a71d5d;">for</span> i <span class="hljs-keyword" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #a71d5d;">in</span> <span class="hljs-built_in" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #005cc5;">range</span>(<span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">8</span>): <span class="hljs-comment" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #969896;"># 使用 8 核心 cpu</span>
<span class="hljs-comment" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #969896;"># 欲使每個核心分別處理 input_list 當中的 2 個資料</span>
<span class="hljs-comment" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #969896;"># 可以手動將資料切成小塊透過 args 送進去 sleep_task</span>
result = p.apply_async(sleep_task, args=(input_list[i*<span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">2</span>:(i+<span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">1</span>)*<span class="hljs-number" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #0086b3;">2</span>], ))
results.append(result)
p.close()
mp_result = []
<span class="hljs-keyword" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #a71d5d;">for</span> r <span class="hljs-keyword" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #a71d5d;">in</span> results:
mp_result += r.get()
<span class="hljs-comment" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #969896;"># Multi-process result</span>
<span class="hljs-built_in" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #005cc5;">print</span>(<span class="hljs-string" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #df5000;">'mp_result'</span>, mp_result)
<span class="hljs-comment" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #969896;"># 因為 input_list 有 16 個元素,每個元素運算需要 1 秒,但分給 8 個核心去願算,所以大概會花 2 秒左右</span>
<span class="hljs-built_in" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #005cc5;">print</span>(<span class="hljs-string" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #df5000;">'mp_result time cost'</span>, time.time()-start_time)
</code></pre><p class="part in-view" data-endline="75" data-position="1845" data-size="0" data-startline="75" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1845" data-size="4" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">執行結果</span></p><h2 class="part in-view" data-endline="78" data-id="" data-startline="77" id="tip1" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><img alt="" data-position="1851" data-size="36" loading="lazy" src="https://i.imgur.com/kvdXaTA.png" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></h2><p class="part in-view" data-endline="82" data-position="1893" data-size="0" data-startline="80" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1893" data-size="22" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">使用同樣的步驟,在 12 核心機器上執行任務</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><span data-position="1916" data-size="22" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">可以用 top 指令監看各個 cpu 使用率</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><img alt=":bulb:" class="emoji" data-position="1939" data-size="6" src="https://assets.hackmd.io/build/emojify.js/dist/images/basic/bulb.png" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: transparent; background-size: contain; border: 0px; box-sizing: content-box; display: inline-block; height: 1.5em; margin-bottom: -0.25em; max-width: none; vertical-align: top; width: 1.5em;" /><span data-position="1945" data-size="34" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;"> 輸入 top 指令後按下 1 就可以看到各個 cpu 目前使用情形</span></p><p class="part in-view" data-endline="85" data-position="1981" data-size="0" data-startline="84" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><img alt="" data-position="1981" data-size="36" loading="lazy" src="https://i.imgur.com/V81hMcL.png" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><span data-position="2018" data-size="9" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">(按下 q 退出)</span></p>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-58223999428221974872022-01-12T23:56:00.001-08:002022-01-12T23:56:21.786-08:00[筆記] Julia 1.7.1 環境安裝於 ubuntu 20.04<div class="row ui-content" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #333333; font-family: "Source Sans Pro", Helvetica, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif; font-size: 14px; height: 651px; letter-spacing: 0.35px; margin-left: 0px; margin-right: 0px;"><div class="relative h-full ui-view-area ui-scrollable" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; height: 651px; overflow: hidden auto; padding-left: 15px; padding-right: 15px; position: relative;"><div class="markdown-body container-fluid comment-inner comment-enabled" data-hard-breaks="true" id="doc" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; line-height: 1.5; margin-left: auto; margin-right: 45px; max-width: 758px; overflow-wrap: break-word; overflow: visible !important; padding: 40px 15px; position: relative;"><h1 class="part in-view" data-endline="1" data-id="Julia-171-環境安裝於-ubuntu-2004" data-startline="1" id="Julia-171-環境安裝於-ubuntu-2004" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: inherit; font-family: inherit; line-height: 1.25; margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; padding-bottom: 0.3em;"><span data-position="2" data-size="30" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">Julia 1.7.1 環境安裝於 ubuntu 20.04</span></h1><p class="part in-view" data-endline="3" data-position="34" data-size="0" data-startline="3" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; margin: 0px 0px 16px;"><span data-position="34" data-size="18" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">本篇單純做個紀錄,給自己日後方便查詢</span></p><h3 class="part in-view" data-endline="5" data-id="下載-julia" data-startline="5" id="下載-julia" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: inherit; font-family: inherit; font-size: 1.25em; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/IcfVDR1UTGmtKP_g2eNteA#%E4%B8%8B%E8%BC%89-julia" smoothhashscroll="" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="下載-julia"><span class="octicon octicon-link" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; -webkit-font-smoothing: antialiased; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="58" data-size="8" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">下載 julia</span></h3><p class="part in-view" data-endline="8" data-position="68" data-size="0" data-startline="6" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; margin: 0px 0px 16px;"><a href="https://julialang.org/downloads/" rel="noopener" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; text-decoration-line: none;" target="_blank">https://julialang.org/downloads/</a><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><span data-position="101" data-size="11" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">我下載版本是1.7.1</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><img alt="" class="" data-position="113" data-size="36" loading="lazy" src="https://i.imgur.com/1RlB9dc.png" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part in-view" data-endline="10" data-position="151" data-size="0" data-startline="10" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; margin: 0px 0px 16px;"><img alt="" class="" data-position="151" data-size="36" loading="lazy" src="https://i.imgur.com/4cAFfFS.png" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: white; border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h3 class="part in-view" data-endline="12" data-id="安裝" data-startline="12" id="安裝" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: inherit; font-family: inherit; font-size: 1.25em; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/IcfVDR1UTGmtKP_g2eNteA#%E5%AE%89%E8%A3%9D" smoothhashscroll="" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="安裝"><span class="octicon octicon-link" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; -webkit-font-smoothing: antialiased; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="193" data-size="2" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">安裝</span></h3><p class="part in-view" data-endline="13" data-position="196" data-size="0" data-startline="13" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; margin: 0px 0px 16px;"><span data-position="196" data-size="21" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">在/opt 裡面建一個 julia 資料夾</span></p><pre class="part in-view" data-endline="16" data-position="218" data-startline="14" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit !important; box-sizing: border-box; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit !important; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">sudo mkdir /opt/julia
</code></pre><p class="part" data-endline="17" data-position="248" data-size="0" data-startline="17" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; margin: 0px 0px 16px;"><span data-position="248" data-size="10" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">解壓縮到那個目錄裡面</span></p><pre class="part" data-endline="20" data-position="259" data-startline="18" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit !important; box-sizing: border-box; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit !important; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">sudo tar xf julia-1.7.1-linux-x86_64.tar.gz --strip-components=1 -C /opt/julia
</code></pre><p class="part" data-endline="22" data-position="347" data-size="0" data-startline="22" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; margin: 0px 0px 16px;"><span data-position="347" data-size="16" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">建立 symbolic link</span></p><pre class="part" data-endline="25" data-position="364" data-startline="23" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit !important; box-sizing: border-box; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit !important; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">sudo ln -s /opt/julia/bin/* /usr/local/bin
</code></pre><p class="part" data-endline="27" data-position="416" data-size="0" data-startline="27" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; margin: 0px 0px 16px;"><span data-position="416" data-size="31" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">簡單測試一下 julia 的 command 是否 work!</span></p><pre class="part" data-endline="30" data-position="449" data-startline="28" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit !important; box-sizing: border-box; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit !important; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">julia --version
</code></pre><p class="part" data-endline="32" data-position="473" data-size="0" data-startline="31" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; margin: 0px 0px 16px;"><span data-position="473" data-size="13" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">可以看到 output: </span><code data-position="487" data-size="19" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: rgba(0, 0, 0, 0.04); border-color: rgba(231, 231, 231, var(--tw-border-opacity)); border-radius: 3px; box-sizing: border-box; color: inherit !important; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; margin: 0px; padding: 0.2em 0px;">julia version 1.7.1</code><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><span data-position="508" data-size="11" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">到這個步驟就安裝完成!</span></p><p class="part" data-endline="34" data-position="521" data-size="0" data-startline="34" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; margin: 0px 0px 16px;"><span data-position="521" data-size="44" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">可以把剛剛下載的 julia-1.7.1-linux-x86_64.tar.gz 檔案刪掉</span></p><h3 class="part" data-endline="36" data-id="測試" data-startline="36" id="測試" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: inherit; font-family: inherit; font-size: 1.25em; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/IcfVDR1UTGmtKP_g2eNteA#%E6%B8%AC%E8%A9%A6" smoothhashscroll="" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="測試"><span class="octicon octicon-link" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; -webkit-font-smoothing: antialiased; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="572" data-size="2" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">測試</span></h3><p class="part" data-endline="38" data-position="575" data-size="0" data-startline="37" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; margin: 0px 0px 16px;"><span data-position="575" data-size="25" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">來個 julia 版本的 Hello World!</span><br style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;" /><span data-position="601" data-size="21" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">使用文字編輯器創一個檔案 hello.jl</span></p><pre class="part" data-endline="41" data-position="623" data-startline="39" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit !important; box-sizing: border-box; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit !important; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">vim hello.jl
</code></pre><p class="part" data-endline="42" data-position="644" data-size="0" data-startline="42" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; margin: 0px 0px 16px;"><span data-position="644" data-size="16" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">在 hello.jl 裡面寫一行</span></p><pre class="part" data-endline="45" data-position="661" data-startline="43" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit !important; box-sizing: border-box; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code class="julia hljs" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit !important; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">println(<span class="hljs-string" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #df5000;">"Hello world"</span>)
</code></pre><h3 class="part" data-endline="46" data-id="執行-julia-程式" data-startline="46" id="執行-julia-程式" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: inherit; font-family: inherit; font-size: 1.25em; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/IcfVDR1UTGmtKP_g2eNteA#%E5%9F%B7%E8%A1%8C-julia-%E7%A8%8B%E5%BC%8F" smoothhashscroll="" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="執行-julia-程式"><span class="octicon octicon-link" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; -webkit-font-smoothing: antialiased; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="702" data-size="11" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">執行 julia 程式</span></h3><pre class="part" data-endline="49" data-position="714" data-startline="47" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit !important; box-sizing: border-box; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit !important; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">julia hello.jl
</code></pre><p class="part" data-endline="50" data-position="737" data-size="0" data-startline="50" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; margin: 0px 0px 16px;"><span data-position="737" data-size="13" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">可以看到 output: </span><code data-position="751" data-size="11" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: rgba(0, 0, 0, 0.04); border-color: rgba(231, 231, 231, var(--tw-border-opacity)); border-radius: 3px; box-sizing: border-box; color: inherit !important; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; margin: 0px; padding: 0.2em 0px;">Hello world</code></p><h3 class="part" data-endline="52" data-id="解除安裝" data-startline="52" id="解除安裝" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: inherit; font-family: inherit; font-size: 1.25em; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/IcfVDR1UTGmtKP_g2eNteA#%E8%A7%A3%E9%99%A4%E5%AE%89%E8%A3%9D" smoothhashscroll="" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="解除安裝"><span class="octicon octicon-link" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; -webkit-font-smoothing: antialiased; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="769" data-size="4" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">解除安裝</span></h3><p class="part" data-endline="53" data-position="775" data-size="0" data-startline="53" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; margin: 0px 0px 16px;"><span data-position="775" data-size="29" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box;">直接刪除資料夾 & 刪除 symbolic link 即可</span></p><pre class="part" data-endline="57" data-original-title="" data-position="805" data-startline="54" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #f7f7f7; border-radius: 3px; border: inherit !important; box-sizing: border-box; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;" title=""><code style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit !important; display: inline; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">sudo rm -rf /opt/julia
sudo find /usr/local/bin -lname '/opt/julia/bin/*' -delete</code></pre><div class="resize-sensor in-view" dir="ltr" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; inset: 0px; margin-bottom: 0px !important; max-width: 100%; overflow: hidden; pointer-events: none; position: absolute; visibility: hidden; z-index: -1;"><div class="resize-sensor-expand" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; inset: 0px; max-width: 100%; overflow: hidden; pointer-events: none; position: absolute; visibility: hidden; z-index: -1;"><div style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; height: 2140px; left: 0px; position: absolute; top: 0px; transition: all 0s ease 0s; width: 655px;"></div></div><div class="resize-sensor-shrink" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; inset: 0px; max-width: 100%; overflow: hidden; pointer-events: none; position: absolute; visibility: hidden; z-index: -1;"><div style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; height: 4260.12px; left: 0px; position: absolute; top: 0px; transition: all 0s ease 0s; width: 1290px;"></div></div></div></div><div class="ui-toc dropup unselectable hidden-print scrollspy-view both-mode" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); bottom: 20px; box-sizing: border-box; left: 720px; margin-left: 8px; position: fixed; user-select: none; z-index: 998;"><div class="pull-left dropdown" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; float: left !important; position: relative;"><a aria-expanded="false" aria-haspopup="true" class="ui-toc-label btn btn-default" data-toggle="dropdown" href="https://hackmd.io/IcfVDR1UTGmtKP_g2eNteA#" id="tocLabel" role="button" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; background-color: #e6e6e6; background-image: none; border-radius: 0px 4px 4px 0px; border: none; box-sizing: border-box; color: #868686; cursor: pointer; display: inline-block; height: 40px; line-height: 1.42857; margin-bottom: 0px; padding: 10px 4px; text-align: center; text-decoration-line: none; touch-action: manipulation; transition: opacity 0.2s ease 0s; user-select: none; vertical-align: middle; white-space: nowrap;" title="目錄"><span class="fa fa-bars" style="--tw-border-opacity: 1; --tw-ring-color: rgba(59, 130, 246, 0.5); --tw-ring-inset: var(--tw-empty, ); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; -webkit-font-smoothing: antialiased; border-color: rgba(231, 231, 231, var(--tw-border-opacity)); box-sizing: border-box; display: inline-block; font-family: FontAwesome; font-size: inherit; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 1; text-rendering: auto;"></span></a></div></div></div></div><p> </p>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-51611996463926361892021-12-13T23:08:00.007-08:002023-01-18T22:49:15.610-08:00[ML 筆記] Transformer(下)<p style="text-align: center;"> <span style="font-family: Arial; font-size: 16pt; font-weight: 700; text-align: center; white-space: pre-wrap;">Transformer 筆記(下)</span></p><span id="docs-internal-guid-1a81aca0-7fff-fb15-1774-39942827df8e"><p dir="ltr" style="line-height: 1.656; margin-bottom: 0pt; margin-top: 0pt;"><span style="color: #292929; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">本篇為台大電機系李宏毅老師 Machine Learning (2021) 課程筆記</span></p><p dir="ltr" style="line-height: 1.656; margin-bottom: 0pt; margin-top: 0pt;"><span style="color: #292929; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">上課影片:</span><a href="https://youtu.be/N6aRv06iv2g" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://youtu.be/N6aRv06iv2g</span></a></p><div><br /></div><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">延續上一篇:<a href="https://violin-tao.blogspot.com/2021/12/ml-transformer.html">[ML 筆記] Transformer (</a></span><span style="font-family: Arial; font-size: 11pt; white-space: pre-wrap;"><a href="https://violin-tao.blogspot.com/2021/12/ml-transformer.html">上)</a></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">我們這篇來介紹 Transformer 裡面的 <b>Decoder</b> 部分</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span></span></span></p><a name='more'></a><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Decoder 其實有兩種,</span><span style="font-family: Arial; font-size: 11pt; white-space: pre-wrap;">我們先來介紹一個比較常見的 Autoregressive (AT) Decoder</span><p></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 232px; overflow: hidden; width: 396px;"><img height="232" src="https://lh5.googleusercontent.com/_aiSqeOs7rrAHkWX6KAXYlE4wSGvnW2DPJEl8cIQL_BWuCry-GdC_ungtTdVlXUacWgknVbUM8Jd1gM2WriK-7Es-MoQThEZtqsC5ATvC3k0d5rlpv_RH_6TiAIOi5XjG5tpWBk" style="margin-left: 0px; margin-top: 0px;" width="396" /></span></span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">(以下討論以語音辨識為例)</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">我們把 Encoder 的輸出接到 Decoder 裡面後,</span><span style="font-family: Arial; font-size: 11pt; white-space: pre-wrap;">來探討,decoder 要怎麼產生輸出</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">首先,會有個代表 “開始” 的特殊符號 BEGIN (special token) 讓 Decoder 知道從這開始</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">接下來 Decoder 會吐出一個向量</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">這個向量長度很長 例如這個 Size 長度 V 可以是中文所有方塊字(例如5000個字)</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">而不同的語言,輸出端的單位都不一樣</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">例如英文,可以輸出所有可能的詞彙 (想必量超大,可能會有各式各樣的詞彙組合)</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">中文,可以用中文的方塊字的數目,當作單位 (例如5000個常用單字)</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 305px; overflow: hidden; width: 421px;"><img height="305" src="https://lh6.googleusercontent.com/c6k0TE3FqWnYELWqCrmuIfUs8d6l0m5u-vpzVIJO5KArRRazsK0AegGktEIUafAUpOrZ3EDVNUQ8v7JBJec-MGCPOzFIPnstc_iPBP6ATqGntFoN9HD5KvAAMKcRP7ldHbhn2kw" style="margin-left: 0px; margin-top: 0px;" width="421" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">BEGIN 過了 Decoder 輸出前我們會過個 softmax 讓輸出的機率總和為一</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">圖中的例子,我們得到 “機” 這個字得到的分數最高,所以我們第一個輸出字為 “機”</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">接下來</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">我們把 encoder 的輸入、BEGIN 跟 “機” 一起丟到 Decoder 裡面,決定接下來要輸出什麼</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">運算出來後我們得到 “器” 這個字</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 329px; overflow: hidden; width: 452px;"><img height="329" src="https://lh6.googleusercontent.com/TRDdSFVPzpQ1WCTXPVktjSegCnnXhsaePBjjhOmAbeaXzkpRkAP2sQatAsr1g4T3VCeDc-RmbJkniFmJnN3EsdMshQP6jT0TqoRaZZMJXd1szHLzsNbwQWYafU77Dt2AnxKDuwc" style="margin-left: 0px; margin-top: 0px;" width="452" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">接下來,我們把 encoder 的輸入、BEGIN、“機” 跟 “器” 一起丟到 Decoder 裡面,決定接下來要輸出什麼,如此一直重複動作</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 348px; overflow: hidden; width: 458px;"><img height="348" src="https://lh6.googleusercontent.com/UDjsLLMqsnX5n7LmlaeGy-Uy5tmQ0ovzfTpFm9GhUtmdy5VTkkhjqd2YNJm1cK1Ox6-3rSxMPuHgEe9Bs3dpvwngKqWHdYJ6dPJuIv-onyNfYcQ5kWhrNpPhnrJjHTja0dil6U8" style="margin-left: 0px; margin-top: 0px;" width="458" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Decoder 會把自己前一個時間點的輸出,丟到 input 裡面產生輸出</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">在這個架構下,可以觀察出,如果 Decoder 過程中其中一個字弄錯了,就可能連帶地影響到接下來輸出的正確性,造成一步錯步步錯的窘境</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">關於這個問題等等來討論</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">接著我們來看 Decoder 內部的詳細架構</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">Decoder 的內部架構</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 322px; overflow: hidden; width: 379px;"><img height="322" src="https://lh5.googleusercontent.com/ScnQo4KfNiLkcGugMLF2JSNBueWz57eDhkP-tayW-Ep3K4ce6-VsFPjZTBfiXJ4m02D3eages5l9CNTAA32genvaxWc5gJP6RUEcBLDChZEGKMRt3YWzbVO5oYt6D6JdEZb5VRY" style="margin-left: 0px; margin-top: 0px;" width="379" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">看起來有點複雜</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">我們先把 Encoder, Decoder 放在一起稍微比較一下</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 348px; overflow: hidden; width: 389px;"><img height="348" src="https://lh6.googleusercontent.com/9n7ZdyATJzXpfX8ZaDOuTQTcBwlvq_-zQrKHmRp-nIVP5OARl7bA6nXTm01GtNT083tyHCTJKTUNP_7WH5ubG8sIUVHx8eEUat3l1sN_jfXwqvWS4YXYENNxc6z6kEV--KQ5SR4" style="margin-left: -18.2946px; margin-top: 0px;" width="416.9232673267327" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">如果把 Decoder 中間那一塊先用灰色遮起來不看的話,</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">可以發現 Encoder 跟 Decoder 架構基本上是一樣的,</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">只有在 Decoder 的 Multi-Head Attention 的地方多加了一個 Masked</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">那所謂的 Masked 是什麼意思呢?</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Masked self-attention v.s. Self-attention</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 264px; overflow: hidden; width: 369px;"><img height="264" src="https://lh3.googleusercontent.com/v2aK5M0FwZkoD5CbRfUM90XEKWfOSdgqK5IeRUjj0iA6U79tM5M0cZQvp9hk78LgOP58f5ivVfbOvaVZ3Y_ziwURmtMUdcAhtk9iNjTo7lSnwgFdd-lSYVlNGh9Y89uTCqX9VVg" style="margin-left: 0px; margin-top: 0px;" width="369" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">如上圖:在原本的 Self-attention 設計中,b1 ~ b4 都考慮了所有的 a1 ~ a4 的資訊</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 246px; overflow: hidden; width: 372px;"><img height="246" src="https://lh3.googleusercontent.com/FrOUbb12qm8yDRD1zV0Q9CODXHr2NICzGKXxytuZfRM4pw57BBBVGeFh_aojTamOlJ4sW7GmRatEtj74BpjEBUGbNLmpFM4YBcwTddl-Mjow4bCNYwSl3Wxi7Ie7ym3FHERDIpY" style="margin-left: 0px; margin-top: 0px;" width="372" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">而在上圖中的 Masked self attention 機制下,當我們要產生 b1 的時候,只能可慮 a1 的資訊</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">產生 b2 的時候,只考慮到 a1 跟 a2 的資訊,產生 b3 的時候,只能考慮到 a1 ~ a3 的資訊</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">依此類推</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">用下一張圖再講得更具體一點,</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">當我們要產生 b2 的時候,我們只考慮 a1 跟 a2 產生的 q1 q2 去計算 attention</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 192px; overflow: hidden; width: 192px;"><img height="209.91635900573814" src="https://lh5.googleusercontent.com/r7XntqAsylFFlUETCPiBfazJO_E2Wwe5nZ_SA0pvebVwfXlHMxAlhcdcZXrv3K3IJszgjR11lUjpzYXh8kA0eRddVGgdwvltgFFG_6qb_PCS6nFdcgipDMirz-FiSFcp3lFfjdg" style="margin-left: 0px; margin-top: -6.21099px;" width="192" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><b>Why masked? </b></span><span style="font-family: Arial; font-size: 11pt; white-space: pre-wrap;">(想想為什麼需要加 Masked呢?)</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">其實非常直覺,因為在 Decoder 端,我們收到 Encoder 端 outout 的資訊是 先有 a1 才有 a2 … 因此我們無法同時拿到全部 a1 ~ a4 所有資訊</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">另一個重要的問題就是:<b>Decoder 必須自己決定輸出的 sequence 長度</b></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">But 輸出的 seq 長度究竟要多少呢??</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">我們目前的運作機制裡面,機器不知道到底何時要停下來</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 268px; overflow: hidden; width: 374px;"><img height="268" src="https://lh5.googleusercontent.com/70OEkofasa-ob5XJCJfGKmZ-lrU90ylgWQDraoI-QjrPK4NwJvl7hjrbC_D_UFph2V2OKYZ1FdhZip989-24H4sffB3lfwo9GrVadBbA5wNqU0mVDfM2vKkqBgHXjxhQShh2rr0" style="margin-left: 0px; margin-top: 0px;" width="374" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">我們要特別準備一個特殊符號 <b>END</b> 讓 decoder 可以停下來</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 256px; overflow: hidden; width: 370px;"><img height="256" src="https://lh6.googleusercontent.com/vyu0Z4plZPy2MKc3WrzObXZV5BRG5ezIO_nvxyIg4ADEaoT61BXqfXKf4czFbXII4TBTVoPqqmLa1HeFR2kIOCbOHsNOisNKzkXWoLfLxKBvEtgCCnzPyL3HKsefvuieWXWc8bk" style="margin-left: 0px; margin-top: 0px;" width="370" /></span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 260px; overflow: hidden; width: 369px;"><img height="260" src="https://lh5.googleusercontent.com/dbz0JID5lYTUGx5gly9hdEYuRJ1fBMO1GAMxdBiT0Miwd265rRZ6EAtQp4QHTm66iqHrQY3NhYSa2taZqQ6TlzpuS44I8ojNfMyZhVZUu0sLUpzEd1IdU7wst4VSJPyp3EEwrBg" style="margin-left: 0px; margin-top: 0px;" width="369" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">當機器讀到 BEGIN 與 機 器 學 習 這四個 input 的時候,可以使得 END 的機率值是最高的,輸出 END 作為 output sequence 的結尾!</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><b>NAT</b> </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">接下來,來簡短地講一下 <b>Non-autoregressive model (NAT)</b></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 212px; overflow: hidden; width: 368px;"><img height="212" src="https://lh3.googleusercontent.com/qYrFPNY3QInUtwLg2ENnTNcKIIplrqt_pwKVfDjne9QQLDOYfRl0_-RtnqMBwzlXQfgNveB4QQ1wsNAEepm58n6Pgg9AzcO0OXb0PedKzDrqjCq69-ZmSDDieQI7qPsmRaAQKdI" style="margin-left: 0px; margin-top: 0px;" width="368" /></span></span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Autoregressive (AT) V.S. Non-autoregressive (NAT)</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 168px; overflow: hidden; width: 387px;"><img height="168" src="https://lh6.googleusercontent.com/bDIe_N9WTzW9jzZ8AiiIjXF1M-zP1Al4Ud-4KOK1HRv3t7gsn4dhWIu00r-jehQk_JCum8gNc6kT13yg9J63ui7SH4oUqTp723sQxpuWzn1rLoUoJbLKQEi-BuU1XYfte2s6wm4" style="margin-left: 0px; margin-top: 0px;" width="387" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">AT: 先輸入 BEGIN 出現 w1 再把 w1 當作輸入,依序做到出現 END 為止</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">NAT: 一次就把整個句子產生出來,input 四個 BEGIN token 一次輸出一串句子就結束了</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">在這邊可能會有個疑問,我們怎麼知道要丟幾個 BEGIN token 進去 NAT 裡面呢?</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 269px; overflow: hidden; width: 402px;"><img height="269" src="https://lh4.googleusercontent.com/v3DP1FeCultWgM2BU-ML9gWMBuimsQaj9vjvPTbeS5BVvYVDLPGH7Z6LvVrFwZzIrCo8a3KyHrTsZT4oFJlDA1JHwKczoUZ-k2FAh_IUOoNuPT6xzYqjpp6xrJLcLWPi17vgugQ" style="margin-left: 0px; margin-top: 0px;" width="402" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">* 可能的解法是 train 一個 classifier 來決定要丟幾個 BEGIN token 進去 NAT 裡面</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">* 另一種可能的解法是 不管三七二十一,一次丟大量的 token 進去,看 NAT 要丟出怎樣的 output ,再從 output 當中找到 END 的 token 把 output 截斷在那邊</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">NAT 的優勢:可平行化,比較能夠控制它輸出的長度,但 NAT 的 performance 往往不如 AT</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">例如 train 一個 classifier 來決定 NAT 輸出的長度要多少</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">接下來要講 <b>Encoder 跟 Decoder 之間,資訊是怎麼傳遞的?</b></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 180px; overflow: hidden; width: 350px;"><img height="180" src="https://lh5.googleusercontent.com/2QKWCKSEKeMi5cZfP5B0X5W2xYBEpkIvJ2Bow-sUAxPESrJ82lh8UqMasQ1HeEOKjxky-Yg9l3zv5gjlB87hK6_e1tqtwcA_tDd6T1bNynfBzu7kk2-_E4vpXTfaCrBVudfB7dw" style="margin-left: 0px; margin-top: 0px;" width="350" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><b>Cross attention</b> 是連接 Encoder 跟 Decoder 之間的橋樑</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 328px; overflow: hidden; width: 380px;"><img height="328" src="https://lh3.googleusercontent.com/URpn095HySUQmHfBPD7WZySivSSAOcoaYev3UJra_bwXuRMX9McTDaNaAc0gUUXglppyoFdABBiVVHgbvPDOkR0xzLlbeqvmh6I6SgPBghkCAl_S_F0kvm5D3Xoo08A0gK6bITk" style="margin-left: 0px; margin-top: 0px;" width="380" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">可以看到有兩個輸入來自 Encoder 一個輸入來自 Decoder</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 294px; overflow: hidden; width: 388px;"><img height="294" src="https://lh4.googleusercontent.com/pspPq0XhPe_VvqxkEmx7IZ13IdXj1OJf2XRGN_OXbNPr2yvUV0YZcj53ePUjT0HVzNOI-Rthg83dAJoc-9-Vk9-SdSESCAR7IOgSvzasnWudOWNYzx_HqSTU0WuU8SoecX_a2MA" style="margin-left: 0px; margin-top: 0px;" width="388" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Encoder 處理完 input 之後輸出 a1 a2 a3 向量經過不同的矩陣 W 產生三個 key: k1 k2 k3 跟 v1 v2 v3 </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">BEGIN 經過 Decoder 得到一個向量(圖中綠色),在經過一個矩陣 transfrom 後得到一個 query q 向量</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">然後把 k1, k2, k3 跟 q 去計算 attention 分數,過了一個 softmax 得到 𝛼</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">1</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">’ 𝛼</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">2</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">’ 𝛼</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">3</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">’</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">再把 𝛼</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">1</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">’ 𝛼</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">2</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">’ 𝛼</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">3</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">’ 乘上 v1, v2, v3 後把他們 weighted sum 加起來得到最後的 output v</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">這個 output v 會丟到 FC 做後續的處理</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Decoder 憑著產生一個 q 去 Encoder 那邊把資訊提取出來,當作接下來 Decoder 裡面 FC 的 input</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 281px; overflow: hidden; width: 374px;"><img height="281" src="https://lh4.googleusercontent.com/HQG4VLXhYNY6fco7lC5sh4EoCWqdp26IzMYKB3nIunaPvgV4LnuUhznQ3Ty16oGPaP3smSUiOLZTGB1QppyXgXcjnrjNxlEkRhwFriXQ0svFoBTCRfnaCiWIVNCw4LHA-qQ5ndQ" style="margin-left: 0px; margin-top: 0px;" width="374" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">下一個時間點同理,當 Decoder 的 input 是 BEGIN 以及 “機” 這兩個 input 時,重複剛剛的流程,算出 v’</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 277px; overflow: hidden; width: 386px;"><img height="277" src="https://lh4.googleusercontent.com/5RhpMZ8D_cTfTJpGRDjEOfcHLzt4TzbKe4blo33_xOZNIuwUxWyYSMtg5CNUVO-kimltkkuBrY7sG1fPtcP_2vgtr4d0cAFd3ubJxol6wuvTM2QLEhTi7rXc7vcHKybt43am8HM" style="margin-left: 0px; margin-top: 0px;" width="386" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">來看一篇 seq2seq 做語音辨識的結果 "Listen, attend and spell: A neural network for large vocabulary"</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">這篇 paper 推出的時候所使用的 Encoder 跟 Decoder 都是 LSTM </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">但它有用到 Cross attention 的機制!</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">如下圖:Decoder 端一次只吐一個英文字母,當它輸出空白 <space> 時,代表單字的結尾斷點</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">input 是一段聲音序號抽出來的 vectors</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 59px; overflow: hidden; width: 256px;"><img height="63.30656934306569" src="https://lh3.googleusercontent.com/QP99H3h85UX8Yv6bnUtyejrojdp1CA54EBNBQQaluybfzNVTauTPnbUm0H8mP9-iq1Ep_SOGoLi_dhf371PcRqScAPM6XL-KbkdyxQgYI5fZlELLF3mLMkT-eyUlgGVg1C5tLys" style="margin-left: -5.26027px; margin-top: -4.30657px;" width="263.8904109589041" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 154px; overflow: hidden; width: 432px;"><img height="154" src="https://lh6.googleusercontent.com/vqgABa22szwyC98BVXigaCDfAioEnURkUFMrvKuFZ8OCgms32qYe5aE5phE34Z7y2RJJ4Z1szcYeZVn8im67vZ0Duh763lzl8npFW0XX_e812YGeBTL7TguhNykyYOU0Vl_JFc8" style="margin-left: 0px; margin-top: 0px;" width="432" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">上圖網格中顏色越深,attention 的分數 (也就是 𝛼 值) 越大</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Decoder 會對 Encoder 的輸出去做 attention 可以觀察它不同 attent 位置跟對應的輸出字母</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">目前介紹的 Cross Attention 架構中 Decoder 的不管哪一層都是拿 Encoder 的最後一層的輸出當 input</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 248px; overflow: hidden; width: 386px;"><img height="248" src="https://lh5.googleusercontent.com/PcC5IhESiZXzfla7QdZ-plCRz8Aya90g0Rb5xk5DnnUN1YIAczOCPfqxKwnBmOMAtTo8parMQTpYyEtDsdMp3Zj76ghRaKuo1umTKreUQWOfTO1yLuR5I_aA5ltQgJ9C39ctpgA" style="margin-left: 0px; margin-top: 0px;" width="386" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">但也有人做其他的嘗試,讓 Encoder 跟 Decoder 的連接方式有更多的可能性,這邊是有待深入研究的題目~ 在此打住!</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">接下來來講怎麼<b>訓練這樣的 Model</b></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 188px; overflow: hidden; width: 388px;"><img height="188" src="https://lh3.googleusercontent.com/ZBxm3rGLsub7AWq-qaDqLaZGxuXdUb8YYXJ510qB2GzGRtNdOKeMV_qrwZkN5hpmeAlQIi0Mv_ZX4MGHOvtjV2Y8Dp9ipzLTokT4ll2Qwp3IzjBO6-VnlFM3Wi8vFQvSTCHkz6s" style="margin-left: 0px; margin-top: 0px;" width="388" /></span></span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">訓練資料前處理: 以中文語音辨識為例</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">把聲音訊號與對應的中文字答案資料整理好</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 316px; overflow: hidden; width: 406px;"><img height="316" src="https://lh3.googleusercontent.com/lcdg9fhuAaggDxYK2OfesOgyhLKP0u0i8usWi8CpmuxD2CjLh2MWhy8A24XmpVE8XCHO3oBBEUl0aLQYvjeEXTZYV7SnNF9-86bwmWjV1P9bjXUQ7eLdtUFjeyIN69gd_8LmIfY" style="margin-left: 0px; margin-top: 0px;" width="406" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><b>Label 的格式:</b></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">以這張圖為例,當我們輸入聲音訊號,第一個字聲音送進去,以及 BEGIN 訊號送進 Decoder 的時候,我們</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">最理想</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">的狀況是產生 “機” 這個字對應的維度機率值為 1 其他字的機率值為 0 的一串 one-hot vector </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">訓練時的輸出:</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">我們希望輸出的機率分佈,跟Label答案的 one-hot vector 越接近越好</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">可以視為一種分類問題</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">假設我們資料中可辨識的中文字總共有 4000 個,可以想成每一次 decoder 在產生中文字的輸出就是在做 4000 類別的分類問題,用 cross entropy 來計算 loss</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 278px; overflow: hidden; width: 403px;"><img height="278" src="https://lh5.googleusercontent.com/ah7g3tlkMPlbD3zOHsqlA2k0iycVB0bZp5lTD-wb8S9qhf2QEil2mi4Lv4grEH8Ljq-sT5RCNpK_on2-uxbM60ahV8E9Jwz-kNKUNKRYSVnBYhBUs8cJUTZq8hz4KScMMogEsR8" style="margin-left: 0px; margin-top: 0px;" width="403" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">如圖, “機” “器” “學” “習” 這四個字的 output 總共做了四次分類問題,有四個 cross entropy 算出來的 loss 值,我們目標是讓 loss 的總和越小越好,但還有一個 END 別忘了!</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">要讓 Machine 知道在輸出完 “機” “器” “學” “習” 這四個字後,下一個要輸出跟 END 符號相對應的機率分佈</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><b>想想看 Decoder 的輸入是什麼?</b></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 313px; overflow: hidden; width: 405px;"><img height="313" src="https://lh5.googleusercontent.com/c965R458wTHC0wO7v0rwK7DMUv9bezT_qfxtQ62skjmqxfGyKg9t5LnqN_YcYn3WgYc1zuJ_Z9wz-N_KIMFSez0T34AsnyG-OGs5Y5osNwGMKUqCCwILetVFm0FKAUU_f1c14ck" style="margin-left: 0px; margin-top: 0px;" width="405" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Decoder 的輸入是所謂的正確答案</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">我們會告訴機器說</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">當有 BEGIN 有 “機” 的情況下,要輸出 “器”</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">當有 BEGIN 有 “機” 跟 “器” 的情況下,要輸出 “學”</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">當有 BEGIN 有 “機” 跟 “器” 跟 “學” 的情況下,要輸出 “習”</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">當有 BEGIN 有 “機” 跟 “器” 跟 “學” 跟 “習” 的情況下,要輸出 END</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">訓練 Decoder 時,我們在輸入的時候給 Decoder 正確答案</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">這件事情叫做 Teacher Forcing,我們把正確答案當作 Decoder 的輸入</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">(此時可能會有個疑問:訓練時我們有正確答案可以用,但真的在測試時候沒有正確答案怎麼辦呢?這件事情之後來說明)</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">接著來討論 訓練這樣 seq2seq 的 Model 時的一些 Tips</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 171px; overflow: hidden; width: 362px;"><img height="171" src="https://lh4.googleusercontent.com/frydveg2YvloghGqsgxv1DDhKanNOkYLqkhXCR_XrlnsVBDa77JCI_aeYj2g6N0U_E-TWXTXDtf0vyWfuiUvZ032essO-MYpwCmb3YsqxUg1IwFOKV0DC6P_eIwGuMG9TSgB75k" style="margin-left: 0px; margin-top: 0px;" width="362" /></span></span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">Copy Mechanism</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">第一個是 Copy Mechanism</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">在目前的討論內容中,我們都要求 Decoder 自己產生 output 出來</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">但對很多任務而言,也許 Decoder 沒有必要自己創造 output 而是要從 input 裡面複製一些東西出來</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">想想在哪些任務會用得上呢?</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">其中一個例子是做<b>聊天機器人</b></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 131px; overflow: hidden; width: 305px;"><img height="131" src="https://lh4.googleusercontent.com/fecO8K9GjVgXPcjRaZuF_m3s5K0s6CB01QjIQNrvskL1qx738bs5wj51fv6ZmT5Vzpqmnt7ssabPkZVv4b7B_hEm1ES4nPLzswUpC89ElysPplukwm61_QSIl1sRyVcI5a55Nf8" style="margin-left: 0px; margin-top: 0px;" width="305" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">例如</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">User: 你好,我是</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">庫洛洛</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Machine:</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"> 庫洛洛</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">你好,很高興認識你</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">對機器來說,沒有必要創造一個 “庫洛洛” 這個詞彙,而是要讓機器學習看到輸入時,我是 “某某某” 的時候,要把 “某某某” 複製一份,output “某某某” 你好</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">或者在<b>做摘要</b>的問題:</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">input 一篇文章</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">output 針對這篇文章的摘要</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">(要讓機器說出合理的句子,至少要上百萬篇文章以上)</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">當在做摘要的時候,很多的詞彙就是從原文裡面複製出來的</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">因此從文章裡面複製一些資訊出來,是一件很關鍵的能力</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 253px; overflow: hidden; width: 352px;"><img height="253" src="https://lh5.googleusercontent.com/675NXWoGCBAOk7dBpJ00FfCN9hJ7wZZavnWow2U_l7Neh6TCVK_X4feRDlS-hN6yCdBtVKwNJq6g-fYX6TpRe8O6cHnWEdWcBqNW0FvZcFQX7WAgfElFM28fT0F3yfvPMzV7pfs" style="margin-left: 0px; margin-top: 0px;" width="352" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">這件事情目前不細講,可以參考其他文章內容</span></p><div><span style="font-family: Arial; font-size: 14.6667px; white-space: pre-wrap;"><br /></span></div><h4 style="text-align: left;"><span style="font-family: Arial; font-size: 14.6667px; white-space: pre-wrap;"><b>Guided Attention</b></span></h4><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Guided Attention 要做的事情,就是要求機器在做 Attention 時要有固定的方式</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 249px; overflow: hidden; width: 338px;"><img height="249" src="https://lh3.googleusercontent.com/bzVmkjfFuqoeUVdotMRMI6mVagINKBnPu9EkKxZjfG4gct04BwvEQQwFQe3We02wdOr72z1Aap5px3UjSmQovv_S7Hbap7qt0dExrzmSthnUFHs2Mbo2svvTBe58BOkODYW9Ak8" style="margin-left: 0px; margin-top: 0px;" width="338" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">在做語音合成或語音辨識的任務時,想像中的 Attention 是由左到右依序看</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">例如:機器要先看左邊的詞彙,產生聲音,在看中間的詞彙,產生聲音,最後看右邊的詞彙,產生聲音</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">但我們發現,機器的 attention 順序是顛三倒四的,顯然這樣的 attention 是有問題的</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">所以 Guided Attention 的機制要做的事情,就是強迫 Attention 要有固定的樣貌</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">這件事情的細節就留下關鍵字,日後再深入研究</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">Beam Search</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">舉個例子,假設我們decoder 只能產生兩個字 A 跟 B,我們每一次都在 A,B 中選一個輸出</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 208px; overflow: hidden; width: 353px;"><img height="208" src="https://lh3.googleusercontent.com/s4Fr3vIFO7kiZn7HUnMnT0p1WoIzJdgxB4J0PPJLi8Rt6e4KwQF5jX9X92GfLpF-I96EEGeAcD3XDDZFRr7p0e_0qnfOXPdm4i3Lt6qyo-PLipjKmbEp_845yBSVxfAEUmYi0rA" style="margin-left: 0px; margin-top: 0px;" width="353" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">每一次 Decoder 都選分數高的那個,第一次輸出 A 後,發現 B 分數比較高,</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 219px; overflow: hidden; width: 380px;"><img height="219" src="https://lh5.googleusercontent.com/_gGwgEMkMofkgaWOLinPYk-EIHikuuoPOQSaUC23xPJr2l0NzAMc4ml_fNJhBMZi8z8y8XYdE6XkdBwowoir82t-qnDg0ScEo2m-KHbGb2Tx8e9nRxJQAkIMutKf7F5R0EtZIJ8" style="margin-left: 0px; margin-top: 0px;" width="380" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">最後的輸出為 ABB,這種每次都選最高分的字當輸出這件事情,叫做 greedy decoding</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">但有沒有可能,我們在某步驟選了比較低的分數那條路,但後面的路得到的分數卻比原本的還要高分?</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 311px; overflow: hidden; width: 469px;"><img height="311" src="https://lh3.googleusercontent.com/XZ44_sy304qLj1KBcOBvS9y3sMlY8WHcJ5uQ5ATJfodOQIEzPoR9ukma5D0oEWNAqfX9nVnYAjkMklkA18_Hb5pxUA_gBmtW1qCFlwdPNpZ_ldLZMwy78MprNACJQeMoMELpdg0" style="margin-left: 0px; margin-top: 0px;" width="469" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">如圖中綠色這條路,雖然一開始我們選了比較差的輸出,但後面的路,分數卻超級好,最終的結果比紅色那條路還要好</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">我們要怎麼找到最好的路呢?</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">窮舉法:不可能 (假設我們有10萬個中文字要輸出,每次的選擇都是 10萬選一條走下去)</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">有個演算法叫做 Beam Search,有個估測的方法來找路,留給大家自行 google</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">BUT </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Beam Search 這個技術有時候有用,有時候沒有用</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">有些文獻告訴你說 Beam Search 是個很爛的東西</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 251px; overflow: hidden; width: 538px;"><img height="251" src="https://lh6.googleusercontent.com/J4KoC6Wi4fMMSAgWn0lTMJ7Ir8NPxgI0engTlee5AkXAolCwuQpvEZ9ViDKCR9Mgxi0VPUNvyj8w750Q0c8bNG_PbCoemfNxL86ri19hgmSiu9O2HFFxBQ7GLPsWyRvTw8PzwMs" style="margin-left: 0px; margin-top: 0px;" width="538" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">例如圖中使用 Beam Search 的 output 出現不段說同一句話鬼打牆的情況</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">對於答案明確的任務中,Beam Search 比較有幫助</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">當你需要機器發揮創造力時,不是只有一個答案的任務時,需要在 decoder 裡面加入隨機性,例如這種 sentence completion 任務,就不太適合使用 Beam Search</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">做語音合成 (TTS) 的任務時, decoder 端居然要加 noise 反而會得到好結果 </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Decoder 找到最好的結果,不見得是人類覺得最好的結果...</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Optimizing Evaluation Metric</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 271px; overflow: hidden; width: 452px;"><img height="271" src="https://lh5.googleusercontent.com/Vp5VU1gLccnhAaKNpYpoK4F_Ex7m3XJY1xi8eHKYwKLY2Ynj8FAM3HPhZG46jqYroCwvTn6ZAajIm-pVOlIut8Mx6e6lfIyosfvExmsfeMVxUFcOG-GuIMmSGb82putcXDB_S9k" style="margin-left: 0px; margin-top: 0px;" width="452" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">BLEU score 拿兩個句子做比較算出相似分數</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">訓練時:看 cross entropy loss 最小的</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">測試時:看 BLEU score 最高分的</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">training 時 cross entropy 最低的 model 得到的 BLEU score 不見得是最高分的</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">因此在 validation 時,要用 BELU score 來看模型好壞</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">那有沒有辦法用 BLEU score 用在訓練呢?</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">沒這麼容易,因為 BLEU score 本身很複雜,是不可微分,無法去算 gradient decent</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">該怎麼辦呢?</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">遇到你無法 Optimize 的 loss function 時</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">可以把它當作 RL 的 reward ,把你的 decoder 當作是 agent 硬做,有可能得到更好的方法</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">這招是比較進階的,不一定推薦</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">Exposure Bias </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">訓練時 decoder 永遠都看正確的東西</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">測試時,看到錯誤的東西時,造成一步錯步步錯</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 331px; overflow: hidden; width: 389px;"><img height="331" src="https://lh3.googleusercontent.com/uiRX6dV5SvSrKAYVn6qGhuBHTng8KnSSF0yQQNQNTRiFX8I8Zn-Y0W751JFrptdasW5XPg2_R27cQQq-bTHWAx2PH5DCS2skysF1FBuH7pHzRRYF3ZwSxe-rkzqaGT-rdQTIbCE" style="margin-left: 0px; margin-top: 0px;" width="389" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">有一個思考方向是,訓練時偶爾給 decoder 的輸入加一些錯誤的東西,它反而學得更好</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">這招叫做 Scheduled Sampling</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 302px; overflow: hidden; width: 445px;"><img height="302" src="https://lh3.googleusercontent.com/b17EkCgdg131vqZGJvNayx5bUcSS5oE50bxAaXFM7cj2SHvYewk_lP_e4UCIbD89QJ5ENas-wYvWh3cUZI7p6Rt6i3rezekbMsvKxsEDAfztBWUgHQdy34e7x85X_eXKc4YHZPE" style="margin-left: 0px; margin-top: 0px;" width="445" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">詳細就追 paper 囉</span></p></span><div><h3 style="color: #333333; font-family: -apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px;"><p class="part in-view" data-endline="112" data-position="2503" data-size="0" data-startline="110" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: black; font-family: "PingFang TC"; font-size: medium; font-weight: 400; letter-spacing: normal; margin: 0px 0px 16px;"><span face="-apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"" style="background-color: transparent; color: #333333; letter-spacing: 0.35px;">相關文章整理</span></p></h3><h4 style="color: #333333; font-family: -apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px;"><ul><li><a href="https://violin-tao.blogspot.com/2017/07/ml-introduction-of-deep-learning.html" target="_blank">[ML筆記] Introduction of Deep Learning</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-backpropagation.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Backpropagation</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-tips-for-training-dnn.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Tips for Training DNN</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-convolutional-neural-network-cnn.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Convolutional Neural Network (CNN)</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-why-deep.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Why Deep?</a></li><li><a href="https://violin-tao.blogspot.com/2018/02/ml-batch-normalization.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Batch Normalization</a></li></ul><div></div></h4><h3 style="color: #333333; font-family: -apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px;"><p class="part in-view" data-endline="112" data-position="2503" data-size="0" data-startline="110" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; font-weight: 400; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2529" data-size="13" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span></p><p class="part in-view" data-endline="107" data-position="3366" data-size="0" data-startline="107" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; font-weight: 400; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="3366" data-size="44" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span></p></h3><h4 style="color: #333333; font-family: -apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px;"><ul><li><a href="https://violin-tao.blogspot.com/2017/12/ml-recurrent-neural-network-rnn-part-i.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Recurrent Neural Network (RNN) - Part I</a><span style="letter-spacing: 0.35px;"> (圖解概念說明版本)</span></li><li><a href="https://violin-tao.blogspot.com/2018/01/ml-recurrent-neural-network-rnn-part-ii.html" target="_blank">[ML筆記] Recurrent Neural Network (RNN) - Part II</a> (圖解概念說明版本)</li><li><a href="https://violin-tao.blogspot.com/2019/08/rnn.html" target="_blank">RNN 筆記 - 基礎架構</a> (數學式探討版本)</li><li><a href="https://violin-tao.blogspot.com/2019/08/rnn_4.html" style="letter-spacing: 0.35px;" target="_blank">RNN 筆記 - 損失函數與反向傳遞演算</a> (數學式探討版本)</li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-self-attention.html">[ML 筆記] Self-attention (上)</a></li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-self-attention_2.html">[ML 筆記] Self-attention (下)</a></li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-transformer.html">[ML 筆記] Transformer (上)</a></li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-transformer_13.html">[ML 筆記] Transformer (下)</a></li><li><a href="https://violin-tao.blogspot.com/2022/11/3d-vision.html">[ML 筆記] 3D Vision </a></li><li><a href="https://violin-tao.blogspot.com/2022/12/ml-self-supervised-learning-ssl.html">[ML 筆記] Self-Supervised Learning (SSL)</a></li></ul></h4></div>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-81231150458459877232021-12-13T22:49:00.004-08:002023-01-18T22:49:45.040-08:00[ML 筆記] Transformer(上)<p style="text-align: center;"> <span style="font-family: Arial; font-size: 16pt; font-weight: 700; text-align: center; white-space: pre-wrap;">Transformer 筆記(上)</span></p><span id="docs-internal-guid-0b63cb71-7fff-ab2f-bec8-d51afb459d36"><p dir="ltr" style="line-height: 1.656; margin-bottom: 0pt; margin-top: 0pt;"><span style="color: #292929; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">本篇為台大電機系李宏毅老師 Machine Learning (2021) 課程筆記</span></p><p dir="ltr" style="line-height: 1.656; margin-bottom: 0pt; margin-top: 0pt;"><span style="color: #292929; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">上課影片:</span><a href="https://youtu.be/n9TlOhRjYoc" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://youtu.be/n9TlOhRjYoc</span></a></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">首先複習一下所謂的 <b>Sequence-to-sequence (Seq2seq) Model 要解決的問題</b></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">想想有哪些任務的 input 是一個 sequence,</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">output 是由機器自己決定應該要輸出的長度呢?<span></span></span></p><a name='more'></a><p></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">案例:語音辨識</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">input:聲音訊號</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">output:由機器決定輸出的文字長度</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">案例:翻譯 中翻英</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">input:中文句子:你好 (2個字)</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">output:英文句子:How are you? (3個字)</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">案例:語音翻譯 英翻中</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">input:英文句子聲音檔</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">output:中文句子 </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 262px; overflow: hidden; width: 372px;"><img height="262" src="https://lh4.googleusercontent.com/1Ebt6I_M3K1acNSsoAlFMpywLwoQizYWncXQeqbOWz1aNaoUFpWfQ_eIpORnoAJqaR6kSls-QhDaLQvgtkPOjl_gQ45qn7Xt26fqr1VvR7qZ44ZeVy2yoI9S334_EJzghD-XtMg" style="margin-left: 0px; margin-top: 0px;" width="372" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Seq2seq model 可以做到各式各樣的任務,但不一定能舉得最好的 performance</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">針對各式各樣任務做出的客製化的模型,往往會比單純用 Seq2seq 解來得更準</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 210px; overflow: hidden; width: 284px;"><img height="210" src="https://lh3.googleusercontent.com/G1V6Q9FZ7xr1c8aOZGAehFIuTtSIQdF1j-XbkwXjaleL1owxmJ06nDdOXDWh7SMnc-yadnQFORDlpUKscml2gpIGLs1foV1tpz6Q7ELieOF9lXfeKSe0M1BHe-xO30BahuYM2KY" style="margin-left: 0px; margin-top: 0px;" width="284" /></span></span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">案例:想一想 Seq2seq model 如何應用在文法頗析任務上</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 293px; overflow: hidden; width: 368px;"><img height="293" src="https://lh6.googleusercontent.com/6iLXHiKzkUt_AkChePAD9K0EnvuNK8Qutl1Jqs31dJBU6vsywERq47GFQcN-H78icEWIZwTjG0VTKLhsUXKU9Wy4D0vxTJUfu96hO-HYWUYzey9uUYBRHVMh_mghpNJh1gUY69U" style="margin-left: 0px; margin-top: 0px;" width="368" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">可以把文法分析的架構,encode 成一串 sequence ,這樣就可以當作 seq2seq model 的 output 端,用這個 seq2seq model 來解</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 192px; overflow: hidden; width: 439px;"><img height="192" src="https://lh4.googleusercontent.com/WElYxHWS4CN00oKBYdyMV_AvoTCr5tLs-ZVltanziIyDsXnEQ_rrpxKYtWbAHA7TrbBhqfb2kyVDueCTe6FdS2apHzJwQrd_N1sJ8mLNhSGXVcsxVjnwylqrlLuBQi4khtW-Qz0" style="margin-left: 0px; margin-top: 0px;" width="439" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">相關論文附在這兒 </span><a href="https://arxiv.org/abs/1412.7559" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://arxiv.org/abs/1412.7559</span></a><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">案例:想想 Seq2seq 如何做 Multi-label Classification</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">讓機器自己決定,每篇文章要吐出幾個 tag,也就是 output 端可以是一個不固定長度的 Tag sequence 恰好適合用 seq2seq model 來解</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 264px; overflow: hidden; width: 360px;"><img height="264" src="https://lh5.googleusercontent.com/zthTmox902hAO_3Nf5yFKoVu0PIBLtHdDTd1j5_bH0hdnug_G56H0ryweNwLexba4DA8ROlifxAXFIanuxyadDkmXlmVi01g5HRDWo1mB6BKSfOcasw8Xxa1f-Vxq-p0T8HYQHs" style="margin-left: 0px; margin-top: 0px;" width="360" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Seq2seq model 甚至可以用在 Object Detection 上!</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">在此就不多討論,一樣論文附上連結 </span><a href="https://arxiv.org/abs/2005.12872" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://arxiv.org/abs/2005.12872</span></a><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 296px; overflow: hidden; width: 390px;"><img height="296" src="https://lh4.googleusercontent.com/1R1RshNpESE7TD_026aq7Xk0n6kko-wxcDpl3GkFY9AOlRleiZomWqLBNijtdoqhRcgwi1NdSonzTP-3s5D39tRKo4jfurQRZYaYsUs5ucd97U7yPr0dZlUxADsKI05zdK8rBw0" style="margin-left: 0px; margin-top: 0px;" width="390" /></span></span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">認識了 Seq2seq model 可以做到這麼多事情後,</span></p><h4 style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><b>現在來深入探討 Seq2seq model 的架構</b></span></h4><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 337px; overflow: hidden; width: 454px;"><img height="337" src="https://lh6.googleusercontent.com/H2CTGS60XcP5ncaLmOb7kJrqMm1askbN3c2Vf5fsLPCaVnnaMPOARYkGzDDhUJO_kZ-TDo8VYdPHvcqbzI1ux3pGoFnod27aVDZRGQJrDTU_-X1py_eGmsJbUwz3hWhEU5FLmws" style="margin-left: 0px; margin-top: 0px;" width="454" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">一般的 Seq2seq model 會分成兩塊:Encoder 跟 Decoder </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">input 丟給 encoder 輸出後丟給 Decoder 讓 Decoder 決定要輸出怎麼樣的向量</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">Encoder</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Encoder 要做的事情就是</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">給一排向量,output 另一排向量</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> CNN, RNN 以及 self-attention 都可以做到這樣的事情</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 239px; overflow: hidden; width: 304px;"><img height="239" src="https://lh3.googleusercontent.com/BnL5kOzsxhiykipDNR66uMIkW9fjxz5y75BmeoahM0VFE6RnlQK3l3onNgzOZy-EphS0ESx15FL0UxHTkSc-pOA4P-lv5JPAQAmYHiNP_Iw3ajw6tVuJT0pjT7h86Zlq093CbME" style="margin-left: 0px; margin-top: 0px;" width="304" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">在 Transformer 裡面使用的是 Self-attention</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 270px; overflow: hidden; width: 365px;"><img height="270" src="https://lh5.googleusercontent.com/mqcV7UIFAxwbDHWnrDRiV1LC3pRQ_gNzkxffT9Tp5WjXwZJ1nsuQZrV3oCM3MGs8ylxqpWVxoxuxrvs_tdkNY2oVaJu9ODBJyYVxVzc4L51fq3_sZDXhRFyCJBt6mv95VESMOdM" style="margin-left: 0px; margin-top: 0px;" width="365" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Transformer Encoder 裡面每一個 Block 做了一連串事情:先過一層 self-attention後再過 FC 後得到輸出的 vector</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">此外,transformer encoder 裡還採用了 residual connection 的設計</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 167px; overflow: hidden; width: 359px;"><img height="167" src="https://lh3.googleusercontent.com/YSE0XYky98oa9d8x4A2L4SOl80VXjp3VTtQ7WowSfDjEQ6BsArQGpNt22BsIXnLge9ywjKzPfHe6cU-9EASoKVoZO8uQ9e_8MUi9Y7UU-Q3U3TBuxOkz9x4NhbQBrMefrk0qJUg" style="margin-left: 0px; margin-top: 0px;" width="359" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">residual: 把 input 跟 output 的結果加起來</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">做完 residual 後還做了 Normalization</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">這裡的 Normalization 不是 batch normalization 而是 layer normalization</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Layer Normalization 做的事情比 batch normalization 更簡單一點</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">輸入一個向量後,計算該向量的 mean 跟 standard deviation (std.) 要注意一下</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Batch Normaliztion v.s. Layer Normalization</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Batch Normaliztion:</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">對同一個 dimension,不同的 feature 去計算 mean 跟 std.</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Layer Normalization</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">對同一個 feature vector,不同的 dimention 去計算 mean 跟 std. </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 288px; overflow: hidden; width: 388px;"><img height="288" src="https://lh6.googleusercontent.com/t3SksDs-v6PvYHeUHJaL-P8hwrSZ0xs1_e1XRfkzal8MF5Lq1ZZF3YxAEFit3T_Js-FLFdqbtqlf7D5oi4EP-hrbQ-KTNdsru3my4YYP9-xFXflDguEcW29bvi4VOnC-QEk57Cs" style="margin-left: 0px; margin-top: 0px;" width="388" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">(p.s. 上圖當中紅色點指到的 x’</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">i</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> 更正為沒有 ’ 的 x</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">i</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> )</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 286px; overflow: hidden; width: 374px;"><img height="292.23093681917214" src="https://lh3.googleusercontent.com/2dNoAuOCJFaSYDOP4M-l_TyH65fhBz_i19kDtT0-XTN0HQ69KjMXRGMvYyPzwhYFlM7VCgiBRFKdao1YUvwzpe25EaiTFdequhvFtRQIXZAs-ao3dxy_OZIn5wKMiV1yfNB_zVk" style="margin-left: 0px; margin-top: -6.23094px;" width="374" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">input vector 過了 self-attention 後得到 vector a </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">將 vector a 與 input vector b 加起來得到新的 output (綠色框)這個動作稱為 residual connection</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">將 output(綠色框) 過完 norm 之後,得到一組輸出 vector (深藍色)</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">再將目前這個深藍色的 vector ,過了 Fully Connected layer (FC) 後得到新的 vector (黑色框)</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">再做一次 residual connection 後的輸出,最後再做一次 (layer) normalization 得到的輸出才是這個 Block 最終的輸出!</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 318px; overflow: hidden; width: 412px;"><img height="324.63269137973043" src="https://lh4.googleusercontent.com/jg4MjtyyyFeIV-OvkyDsRI9XaYm-QbFm7oZ5vEqa0sh374GBEJBToVQnRvHqdXXFv1rEZ14HED6sjGYVXC7IAyYBYO37JIam9u5rQIlUPgYJa9C1-eg3KizFzfjlScExbotFY4I" style="margin-left: -15.5276px; margin-top: 0px;" width="427.52763819095475" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">我們用別個圖再複習一次:</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">input 的地方 還有加上 positional encoding 擷取 positional 的資訊</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">圖中的 Multi-Head Attention 區塊就是我們剛剛的 self-attention 的架構</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">圖中的 Add & Norm 區塊就是剛剛講的 residual connect + layer normalization 的動作</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">圖中的 Fead Forward 區塊就是剛剛說的 FC 連接</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">這個複雜的 Block 之後會用在 BERT 的 Encoder 部分</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">到這裡可能會有疑問,為什麼 Encoder 要這樣設計呢?有沒有其他的設計方法</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 282px; overflow: hidden; width: 413px;"><img height="282" src="https://lh5.googleusercontent.com/vzWhe7iUhqND14etApXnnV4D-cG1NtGKNV6MOc9DZMVWjUi5jR-34Xfcf9-j_AVlcb5twWcFEwORKcH9K74FDQLlsLrHyqdzpUcTw3EU-8myKyk-pzgxxe2G1u274rSEpQxorQ4" style="margin-left: 0px; margin-top: 0px;" width="413" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">當然有!Encoder 的設計可以有很多不同的變化</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">有一篇文章叫做 On Layer Normalization in the Transformer Architecture 裡面有討論到</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">為什麼我們先做 residucal 在做 layer norm 呢?</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">例如</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">圖中的 (a) 原始的論文設計架構,Encoder 端先做 residual 後在做 layer norm 再加進去</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">圖中的 (b) 則是先做完 layer norm 才過 attention,FC 之前先過 layer norm</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">PowerNorm 這篇論文會討論,為什麼在這個應用中做 Batch Normalization 會不如使用 Layer Normaliztion 效果更好 </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">(下集待續)</span></p><div><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><a href="https://violin-tao.blogspot.com/2021/12/ml-transformer_13.html">[ML 筆記] Transformer (下)</a></span></div><div><br /></div><div><h3 style="color: #333333; font-family: -apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px;"><p class="part in-view" data-endline="112" data-position="2503" data-size="0" data-startline="110" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; color: black; font-family: "PingFang TC"; font-size: medium; font-weight: 400; letter-spacing: normal; margin: 0px 0px 16px;"><span face="-apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"" style="background-color: transparent; color: #333333; letter-spacing: 0.35px;">相關文章整理</span></p></h3><h4 style="color: #333333; font-family: -apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px;"><ul><li><a href="https://violin-tao.blogspot.com/2017/07/ml-introduction-of-deep-learning.html" target="_blank">[ML筆記] Introduction of Deep Learning</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-backpropagation.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Backpropagation</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-tips-for-training-dnn.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Tips for Training DNN</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-convolutional-neural-network-cnn.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Convolutional Neural Network (CNN)</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-why-deep.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Why Deep?</a></li><li><a href="https://violin-tao.blogspot.com/2018/02/ml-batch-normalization.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Batch Normalization</a></li></ul><div></div></h4><h3 style="color: #333333; font-family: -apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px;"><p class="part in-view" data-endline="112" data-position="2503" data-size="0" data-startline="110" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; font-weight: 400; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2529" data-size="13" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span></p><p class="part in-view" data-endline="107" data-position="3366" data-size="0" data-startline="107" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; box-sizing: border-box; font-family: -apple-system, "system-ui", "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; font-weight: 400; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="3366" data-size="44" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;"></span></p></h3><h4 style="color: #333333; font-family: -apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px;"><ul><li><a href="https://violin-tao.blogspot.com/2017/12/ml-recurrent-neural-network-rnn-part-i.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Recurrent Neural Network (RNN) - Part I</a><span style="letter-spacing: 0.35px;"> (圖解概念說明版本)</span></li><li><a href="https://violin-tao.blogspot.com/2018/01/ml-recurrent-neural-network-rnn-part-ii.html" target="_blank">[ML筆記] Recurrent Neural Network (RNN) - Part II</a> (圖解概念說明版本)</li><li><a href="https://violin-tao.blogspot.com/2019/08/rnn.html" target="_blank">RNN 筆記 - 基礎架構</a> (數學式探討版本)</li><li><a href="https://violin-tao.blogspot.com/2019/08/rnn_4.html" style="letter-spacing: 0.35px;" target="_blank">RNN 筆記 - 損失函數與反向傳遞演算</a> (數學式探討版本)</li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-self-attention.html">[ML 筆記] Self-attention (上)</a></li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-self-attention_2.html">[ML 筆記] Self-attention (下)</a></li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-transformer.html">[ML 筆記] Transformer (上)</a></li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-transformer_13.html">[ML 筆記] Transformer (下)</a></li><li><a href="https://violin-tao.blogspot.com/2022/11/3d-vision.html">[ML 筆記] 3D Vision </a></li><li><a href="https://violin-tao.blogspot.com/2022/12/ml-self-supervised-learning-ssl.html">[ML 筆記] Self-Supervised Learning (SSL)</a></li></ul></h4></div></span><span><!--more--></span><span><!--more--></span>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-80879179064855975262021-12-02T01:14:00.007-08:002023-01-18T22:50:03.262-08:00[ML 筆記] 自注意機制 Self-attention (下)<p style="text-align: center;"> <span style="font-family: Arial; font-size: 16pt; font-weight: 700; text-align: center; white-space: pre-wrap;">Self-attention 筆記(下)</span></p><span id="docs-internal-guid-5b07b0ce-7fff-56d6-e9ea-84aeda3b2d21"><p dir="ltr" style="line-height: 1.656; margin-bottom: 0pt; margin-top: 0pt;"><span style="color: #292929; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">本篇為台大電機系李宏毅老師 Machine Learning (2021) 課程筆記</span></p><p dir="ltr" style="line-height: 1.656; margin-bottom: 0pt; margin-top: 0pt;"><span style="color: #292929; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">上課影片:</span><a href="https://youtu.be/gmsMY5kc-zw" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://youtu.be/gmsMY5kc-zw</span></a></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">延續上一篇 </span><a href="http://violin-tao.blogspot.com/2021/12/ml-self-attention.html" style="font-family: Arial; font-size: 11pt; white-space: pre-wrap;">[ML 筆記] 自注意機制 Self-attention (上)</a></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; white-space: pre-wrap;"><br /></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; white-space: pre-wrap;">Self-attention 的詳細架構介紹,先複習一下</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 286px; overflow: hidden; width: 390px;"><img height="292.8172193484737" src="https://lh4.googleusercontent.com/YHyagUSkURqxZmx2JGOm2NDyYPFWFoBRx3UX5oeGPwUVN-4_ZC0xHnbqtPBK94Z_3AQKjWQ6vWh5x0DeDI5UCM65filBrFeZTU-9OiMEFzUgJW1CYpJUHR8nz_7rCU_fANWGJRg" style="margin-left: 0px; margin-top: 1.47136e-12px;" width="390" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">我們的 Self-attention 的 input 是個 sequence (a1 ~ a4) output 端是另一個 vector (b1 ~ b4)<span></span></span></p><a name='more'></a><p></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">以下是計算出 b2 的過程:</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 280px; overflow: hidden; width: 419px;"><img height="280" src="https://lh5.googleusercontent.com/8WL1hZqU56wcJzXcvfko7gR9CAcoaJu-0AEjUJCARtgFYoBJt7r9-tOUhQX8ceCbPuGpDSfcsJe7pSgELxScHsxcGnpb3I6Ha1V40oN4UdOb_Lj5Q6xhLD55vbfHELSRvDziAcI" style="margin-left: 0px; margin-top: 0px;" width="419" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">我們把 a2 過一個 W</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">q </span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">矩陣,算出 q2 ,把 a2 過一個 W</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">k </span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">矩陣,算出 k2</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">然後把 q2 跟 v2 做 dot-product,得到 ꭤ’</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">2,2</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> (這個參數稱為 attention score) </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">再把 a2 過一個 W</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">v </span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">矩陣,算出 v2 乘上跟 ꭤ’</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">2,2 </span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> 得到 b2</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">我們可以用矩陣的表示法,來描述上述的運算過程</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Q 矩陣,代表 q1 q2 q3 q4 這些 vectors</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">I 矩陣,代表了 a1 a2 a3 a4 這些 vectors</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">K 矩陣,代表了 k1 k2 k3 k4 這些 vectors</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">V 矩陣,代表 v1 v2 v3 v4 這些 vectors</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Q = W</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">q</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> x I</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">K = W</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">k</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> x I</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">V = W</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">v</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> x I</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 245px; overflow: hidden; width: 394px;"><img height="259.5767585103065" src="https://lh4.googleusercontent.com/MvmFVm0K2tumm0K-8LHfIEHBEd61Y3uBn5YuOjXTaTQfB25yNgMSLot8VCGZ4uzuvhd-BKqFPXfRWDvRYxvcL08jKmGl4MYey1qZhrOtS4myRCm_9xUbq-oN_ArGWhfwAgvAm_8" style="margin-left: 0px; margin-top: 0px;" width="394" /></span></span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">計算 𝛂</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">1,1 </span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">~ 𝛂</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: sub;">1,4</span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 161px; overflow: hidden; width: 307px;"><img height="161" src="https://lh5.googleusercontent.com/Fr1zvxXtW5v0-xemqBV0O4QbMqvE8OpJIUO2LpVaGopEW1zsXiB4MQyYI3f3vh71L8FuVfkL3-b3-7zcjM_rDvNzecNh8S033ZGv5TBNm8-V4C7xxkCu2mg0e6geBpERwYF6218" style="margin-left: 0px; margin-top: 0px;" width="307" /></span></span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 275px; overflow: hidden; width: 357px;"><img height="275" src="https://lh5.googleusercontent.com/xL8SnEsFyT0GITVD5M_wE_lF_OARHQtpngVQM6GxU7GY92bCsa6KbWB9STteh6YxLbyAWNkwIeZuNiPGFUtMCtqNECdPEKA2XwOwbYbTUIBfKs3IifiRqsJNIiPgad5SXd_oHP8" style="margin-left: 0px; margin-top: 0px;" width="357" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">得到過完 softmax 後的矩陣 A’ 後</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">就可以拿來計算出 b1 ~ b4 值</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 312px; overflow: hidden; width: 400px;"><img height="312" src="https://lh5.googleusercontent.com/z9yiERSWyRboyiQMPHM0HoCqbrIn0GMGkyBxVddIvU3mRtdNZMgoutOHTRrjKvNtOfqDKfwwt0mGqmIKJYPCZr8gFX0BP3tskaKVbZBN9JVu2eWwgyWsTWmt6n9yEVwjhA2-eIg" style="margin-left: 0px; margin-top: 0px;" width="400" /></span></span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">整個複習一下</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">I 是 self-attention 的 input</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">I 經過不同的 W 矩陣運算後,得到 Q, K, V</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 344px; overflow: hidden; width: 443px;"><img height="344" src="https://lh4.googleusercontent.com/E8DrVaeYDS7N-kJ7w-n5MkVjOiJyjXXG-IqKsPK0fHVCru7RbrsqQCIetOoceJlJ02A1V13XX_O3sW1ck37-ww37eIXYwSvH62OuTAHXPQyeV2Tz5XKbI7eWq47tVUaZe9hz990" style="margin-left: 0px; margin-top: 0px;" width="443" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">得到 Q, K, V 之後,可以使用 K</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">T</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Q 得到 A 矩陣</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">得到 A 矩陣後過了 softmax 或是其他 activation function 得到 A’</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">得到 A’ 矩陣後,乘上 V 矩陣就可以得到我們要的 self-attetion layer 的 Output, O</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">整個過程當中,只有 W</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">q</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> W</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">k</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> W</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">v</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> 是未知的,需要透過 training data 去學起來</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">其他的運算都是人為已知的設定</span></p><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Self-attention 進階版本:Multi-head Self-attention</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">思路:做 “相關” 這件事情,我們可以使用不只一個 q ,可以使用多個 q 來做不同的相關性運算,既然 q 有多個,那 k 跟 v 也會有多個相對應</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 315px; overflow: hidden; width: 400px;"><img height="315" src="https://lh6.googleusercontent.com/cmqxxFSHu0jugQEvcLW22_5FfNiN2pLx5ql29FVnaYm_kMOQLkXp9licTBAXysdunwMyNsn5AsJVKZle8goleGkgU3xwxOmkUJ-4gX2AGjjIZ5voYcm4FN2cyOBbX9fOeiDBK78" style="margin-left: 0px; margin-top: 0px;" width="400" /></span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 306px; overflow: hidden; width: 400px;"><img height="306" src="https://lh6.googleusercontent.com/AFQdjHtICR_j4j-t80e7u544unL1Fph0IqxFkkqOlWaU3Vvp34hn7RLDKS1Kq2wOGeSl36RsXerFF86plHN5wav2FMVZ9Psb8YFoK9w0dS4Oi8uThYj7eVew-U0aP2kuBmYGn9Q" style="margin-left: 0px; margin-top: 0px;" width="400" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">透過不同組的 q,k,v 得到 output b</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">i,1</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">, b</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">i,2 </span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">之後,再把這些 output vector 接起來過一個 W</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">O</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">,就可得到 Multi-head Self-attention 的最後 output b</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">i</span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 114px; overflow: hidden; width: 442px;"><img height="114" src="https://lh5.googleusercontent.com/nB_SKPcX2F6fh48b6OnEuUK37TMtv-ImQmNbBI1D1PjAlBFQmy9_KLKKU2OQY2iBpk-Ktanp4_Qsic8zhSBoTJzrc7ELFfMrsD8NHQCojPlMgDYbW_PG-2DehB1GVxwhUxybcnw" style="margin-left: 0px; margin-top: 0px;" width="442" /></span></span></p><br /><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">目前為止,對於 Self-attention 的 Layer 而言,每一個 input 都是獨立的,放在 sequence 當中哪個位置沒有任何差別,因此接下來介紹 Positional Encoding 把位置的資訊塞下去!</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 282px; overflow: hidden; width: 381px;"><img height="282" src="https://lh6.googleusercontent.com/cbFmIP9ClfEPvkFT0_ols1JsZ-6NSSJ66-zHqADnLU1MwUkLYTqSywTo3tj9g5A6c6V25712McIwQSXaeOikJ82mNQS5Yc0wVtEd8OsSfyy2nHLbUnl8gfdVHu29ifvSDcz3Sz4" style="margin-left: 0px; margin-top: 0px;" width="381" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">對於每一個不同位置,分別給不同的位置的 encoding e</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">i</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">再把這些 encoding e</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">i</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> 加到 attention 裡面去</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 342px; overflow: hidden; width: 445px;"><img height="342" src="https://lh4.googleusercontent.com/8Od0UWyHmVqoyuBQqYUAcYwcW412VPElIf4lgTkMRchpWf0x6NbDe1vKbqWBkKf2MXXyEz6eZX7VappM3TjVnbEcjaIYgYbk0KpIGSoQ9gkEsxCMcrSKnwlbCEAn7aJA93BMWQc" style="margin-left: 0px; margin-top: 0px;" width="445" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">目前大多的 Positional Encoding 是人為設定的,至於有沒有更好的 positional encoding 的方法,尚待研究!</span></p><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Self-attention 不只可以用在 NLP 應用上,接下來來介紹其他的應用</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">例如 語音辨識</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">隨便講一句話,都是上千個向量,Sequence 的數量如果上千的,在做 Attention 的運算時,就會消耗大量的 memory 跟運算資源</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">因此在做語音的時候有一招叫做 Truncated Self-attention 只看一個小範圍就好,至於小範圍是多少範圍,也是人為設定的</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 315px; overflow: hidden; width: 419px;"><img height="315" src="https://lh5.googleusercontent.com/E-BGMJXwdWbYORmuf9OFvIDZ9ciriH88oWI8otaIjJDNuCyYvdFMtAeR7HqbbhK_WwHSLhMGyr77wBh7W1_kB1AQ9XAdouBsONFfqWltGXxlqtclXC7uRUU5NUxwFU80JHhIHDE" style="margin-left: 0px; margin-top: 0px;" width="419" /></span></span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Self-attention 還可以被用在影像上</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Self-attention 的輸入是 vector sets,我們要把一張圖片看作是 Vector set 的做法:</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">把每一個 pixel 看作是一個三維的 vector </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 262px; overflow: hidden; width: 407px;"><img height="262" src="https://lh6.googleusercontent.com/KhVnyGWb2zCYI02QpstweXq-f4JD9ekHavdJ6BLyLOFP3-rhYq1ziboi5aWPp1so1UFcF0BHI545Jv4Pkq7cMakJ6JF9a0DshPtWv4Po199mhoM6fvQ-MA3LL0PCChbrnfrgAPQ" style="margin-left: 0px; margin-top: 0px;" width="407" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">使用 self-attention 用在圖片上的例子:</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 234px; overflow: hidden; width: 301px;"><img height="234" src="https://lh4.googleusercontent.com/rbywvQBX1uhAriJ3UMEegDzGbXoAv4YuUMxgn4-Z5UEE5P9zWDifJtKAa_FSS3WFDTzXdJYOEgviG0EhJzwY2nioEFxDpaBsKFsQhUkHCDdhgedBnJ1JVasNpjfc_p3vh6rmmEQ" style="margin-left: 0px; margin-top: 0px;" width="301" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Self-attention 跟 CNN 的關聯性</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Self-attention 來處理圖片是,選取一個 pixel 當作 query ,而其他pixel 當作 key 來看該 pixel 跟圖片中其他位置的關係</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">因此,</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">CNN 可以看作是一種簡化版本的 Self-attention 因為 CNN 裡面的 receptive field 是局部的,而 self-attention 的 receptive field 是全部的 pixel (整張影像的資訊)</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">或是可以換句話說 Self-attention 是複雜化版本的 CNN</span></p><br /><ul style="margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;"><li aria-level="1" dir="ltr" style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">CNN 裡面每個神經元只考慮 receptive field 裡面的資訊,而 receptive field範圍跟大小事人為決定的</span></p></li></ul><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> </span></p><ul style="margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;"><li aria-level="1" dir="ltr" style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Self-attention 裡面,我們用 attention 去找出相關的 pixel,也就是 receptive field 的範圍是讓機器自動決定的,透過training 過程,在整張圖片當中,機器會自己學出哪些pixel 與 pixel 之間,圖片中哪些範圍是比較重要有關聯的</span></p></li></ul><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 249px; overflow: hidden; width: 402px;"><img height="249" src="https://lh5.googleusercontent.com/xVmODO190xesSZ0h9yXErVpC3mGCmqnAoLF4JxEoxRftBlmrz_9katnnniB2X4O3Ck_EPtDdQPvr873kWa4FxUltS-aS73p7IuJaQNGarIhI7N5RbIkvRITWIthx-U_zwR6tkM4" style="margin-left: 0px; margin-top: 0px;" width="402" /></span></span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">欲深入研究可以追相關的 paper: </span><a href="https://arxiv.org/pdf/1911.03584.pdf" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://arxiv.org/pdf/1911.03584.pdf</span></a></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 311px; overflow: hidden; width: 411px;"><img height="311" src="https://lh5.googleusercontent.com/gVB6XM9paPYDy7LjCV8V-g2VkfzclmI6EFFEb4Rn2qxSk67HEY6l-vPYp5D_lzm5-mu5zW352CYnG83ajKPoAzqCAubuhHXxW5hBUwUX-8ZaQbH0Vn7UQ1C7jaiK7F9SaCvOJ0w" style="margin-left: 0px; margin-top: 0px;" width="411" /></span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="display: inline-block; position: relative; width: 100px;"></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Self-attention 跟 CNN 的比較實驗</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">在資料比較少時,CNN 訓練起來效果較好,當資料量夠大時,Self-attention 效果超越了 CNN</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 286px; overflow: hidden; width: 401px;"><img height="296.8079480367919" src="https://lh4.googleusercontent.com/tx8XJS6OAjpRJla-jP9KEiy0ruHRr-_lKeM4WsbH1U6ns0_isFJl5Oq9djnYiK5YcNyjs9m1Owc8UsGNk3OD59kn_5Z9TsYu3oSRMTexb_y43uS-McGFFEOervhdQ3AVELmT2kg" style="margin-left: 0px; margin-top: -10.8079px;" width="401" /></span></span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Self-attention v.s. RNN</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">簡單快速複習一下 RNN (RNN介紹可以看<a href="http://violin-tao.blogspot.com/2017/12/ml-recurrent-neural-network-rnn-part-i.html">這篇</a>)</span></p><div align="left" dir="ltr" style="margin-left: 0pt;"><table style="border-collapse: collapse; border: none; table-layout: fixed; width: 451.276pt;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">RNN也是要處理 input 是一個 sequence 的狀況,有一個 input vector,通過 RNN 產生了一個 output 通過 Fully Connected (FC) Network 再去做想做的事情,</span></p><p dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">接著把第一個時間點產生的輸出,跟第二個時間點的input vector 再一起餵進去 RNN 裡面,然後產生新的輸出,再跟下一個時間點的 input 去做處理,一直循環下去</span></p></td></tr></tbody></table></div><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 309px; overflow: hidden; width: 450px;"><img height="322.0735537822515" src="https://lh6.googleusercontent.com/XhsbdF-I2kGi-gumycdVURnM77eMBLXFZaW5ETgceZ4rLtJsuxPqOBj1Qxm-NyIptjfJWmquVDbSM4LYZqXPjLW8w5CPktjl_g2brTG2uDZA7cv75VoxvgWAaFG90-JhcjXpBW0" style="margin-left: -3.83959px; margin-top: -2.79636e-12px;" width="462.2866894197952" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">你會發現 RNN 跟 Self-attention 做的事情很像</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">比較兩者個不同:在單向的 RNN 來說,前面時間點出現的 vector 只考慮了前面時間點的 vector,看不到後面出現的 input </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">而 self-attention 裡面,每一個 vector 都考慮所有的 input,但其實 RNN 也可以是雙向的,因此使用雙向 RNN 也可以考慮進 sequence 當中的所有資訊</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; white-space: pre-wrap;"><b>Self-attention v.s. RNN 差異點1</b> </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">即便是雙向 RNN 跟 Self-attention 最大的差異點在於</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">如圖:</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">對 RNN 來說,假設最右邊的紅色的黃色 Vector 要考慮最左邊的紅色框藍色 input vector 必須一直存在 memory 裡面不會被忘掉,才能在最後一個時間點影響到最後一個 vector</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">而在 self-attention 的架構來說,沒有這個問題,即便在sequence當中離得很遠的兩個 vector,他們還是會被完整地兩兩輕易地抽取出資訊 (attention score)</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 378px; overflow: hidden; width: 509px;"><img height="378" src="https://lh5.googleusercontent.com/qgavlZ2ZSdWg6GoIPhLRjxC3WuBTF0Lt6XWcVYnc18X4IxKSHnc3nyF1_fnRjpVdKZl7F4BAPuPtTRvOYkJe2QDJp7m9qnv7Jw19ig_OA1qI4c9RdCyVVP5sYnxsvi5xD5ztG_8" style="margin-left: 0px; margin-top: 0px;" width="509" /></span></span></p><b><br /></b><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><b>Self-attention v.s. RNN 差異點2</b></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">RNN 無法平行化,因為 RNN 的下一個時間點所需要 input,會需要等前一個時間點的結果出來才能運算下去</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Self-attention 當中的運算則是相互獨立的,可以輕鬆地平行化處理所有運算,得到輸出</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">因此在運算速度上,self-attention 會比 RNN 更有效率</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">近期很多的應用往往都把 RNN 的架構改成 self-attention 架構</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">有興趣可以追這篇論文 </span><a href="https://arxiv.org/pdf/2006.16236.pdf" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://arxiv.org/pdf/2006.16236.pdf</span></a></p><br /></span><span><!--more--></span><div><span><h3 style="color: #333333; font-family: -apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; letter-spacing: 0.35px;">相關文章整理</h3><h4 style="color: #333333; font-family: -apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px;"><ul><li><a href="https://violin-tao.blogspot.com/2017/07/ml-introduction-of-deep-learning.html" target="_blank">[ML筆記] Introduction of Deep Learning</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-backpropagation.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Backpropagation</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-tips-for-training-dnn.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Tips for Training DNN</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-convolutional-neural-network-cnn.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Convolutional Neural Network (CNN)</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-why-deep.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Why Deep?</a></li><li><a href="https://violin-tao.blogspot.com/2018/02/ml-batch-normalization.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Batch Normalization</a></li></ul><div></div></h4><h4 style="color: #333333; font-family: -apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px;"><ul><li><a href="https://violin-tao.blogspot.com/2017/12/ml-recurrent-neural-network-rnn-part-i.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Recurrent Neural Network (RNN) - Part I</a><span style="letter-spacing: 0.35px;"> (圖解概念說明版本)</span></li><li><a href="https://violin-tao.blogspot.com/2018/01/ml-recurrent-neural-network-rnn-part-ii.html" target="_blank">[ML筆記] Recurrent Neural Network (RNN) - Part II</a> (圖解概念說明版本)</li><li><a href="https://violin-tao.blogspot.com/2019/08/rnn.html" target="_blank">RNN 筆記 - 基礎架構</a> (數學式探討版本)</li><li><a href="https://violin-tao.blogspot.com/2019/08/rnn_4.html" style="letter-spacing: 0.35px;" target="_blank">RNN 筆記 - 損失函數與反向傳遞演算</a> (數學式探討版本)</li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-self-attention.html">[ML 筆記] Self-attention (上)</a></li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-self-attention_2.html">[ML 筆記] Self-attention (下)</a></li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-transformer.html">[ML 筆記] Transformer (上)</a></li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-transformer_13.html">[ML 筆記] Transformer (下)</a></li></ul></h4></span></div>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-16820065908297775432021-12-02T01:05:00.006-08:002023-01-18T22:50:21.437-08:00[ML 筆記] 自注意機制 Self-attention (上)<p style="text-align: center;"> <span style="font-family: Arial; font-size: 16pt; font-weight: 700; text-align: center; white-space: pre-wrap;">Self-attention 筆記(上)</span></p><span id="docs-internal-guid-99bcf4dc-7fff-d9b3-cd35-98fe76f45ccb"><p dir="ltr" style="line-height: 1.656; margin-bottom: 0pt; margin-top: 0pt;"><span style="color: #292929; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">本篇為台大電機系李宏毅老師 Machine Learning (2021) 課程筆記</span></p><p dir="ltr" style="line-height: 1.656; margin-bottom: 0pt; margin-top: 0pt;"><span style="color: #292929; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">上課影片:</span><a href="https://youtu.be/hYdO9CscNes" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://youtu.be/hYdO9CscNes</span></a></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 13pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">定義 Sequence-to-Sequence (Seq2seq) 的問題</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 13pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">將 Input 視為一個 Sequence:</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">例如文字資料處理,我們可以把句子中每個詞彙都描述成向量集 Vector set </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">而把文字表示成向量的方法很多,其中一種做法是 One-hot Encoding</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">這個 encoding 有個很明顯的缺點,就是它假設所有詞彙都是沒有關係的</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">例如下圖當中,我們無法從 encode 後的 vector 看出這五個單字哪些比較相近<span></span></span></p><a name='more'></a><p></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 178px; overflow: hidden; width: 211px;"><img height="178" src="https://lh6.googleusercontent.com/AkWvJSU4EH3ramXmRfGwPf2Fta7rF55Cc4BJtANYsw2B_XDXYc_PQWcGCUleiae8UixsTz-7RC--7xaAxaGVDx4eu_Qz3xVB8byeXBosaoHrxMVCXlAiVBZI9g04eYKj2Tfvw_M" style="margin-left: 0px; margin-top: 0px;" width="211" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">另一個常見的作法就是使用 Word Embedding 細節在此先不討論,有興趣可以查相關文章</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 188px; overflow: hidden; width: 212px;"><img height="188" src="https://lh5.googleusercontent.com/lAlzpVpkA_RPFfMTwVCkM3bT8ZeNvPlRpGMsR8NCbIT4Qk2XitNOqVc4Dap5BlvMle6iZ3WkQl5DqyIQCSzzUw9gdDfRmczAB4vrQAqCpUR6oEYB2EcodQVgxGHMPOT52peIpDA" style="margin-left: 0px; margin-top: 0px;" width="212" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">聲音訊號的 input 也是一個 Sequence,</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">在描述聲音訊號時,我們會設定一個 frame (或是講成一個 window) size 通常訂 25ms </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">再將 window 逐步往右移動,移動的步伐時間長度通常設定在 10 ms</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 221px; overflow: hidden; width: 306px;"><img height="221" src="https://lh3.googleusercontent.com/o062LYC_6C96gRWf5kzip9ozF24im8rQEIX2Of2PGtfMbbP4TZ5ASqZka5rD2IyyIfQGnSp8GJvBDCt5CeQ_NRVATwbwxuREpmBGauFBETnqmUpC0CPun9prZhxO1not64EhSHA" style="margin-left: 0px; margin-top: 0px;" width="306" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">我們也可以把 social network 的 graph 看作是一堆的向量組成</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">或是分子結構,一個分子也可以看作是一堆向量,有了一堆向量,就可以視為一串 sequence </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 316px; overflow: hidden; width: 400px;"><img height="316" src="https://lh5.googleusercontent.com/Abu4nwTo3ZYI_oba1UC8z31p1BcyaT2Z9Sw0G-h_F6rxotDBMdgxivA96UrhYroTjKE5gI3WL-FtdULSXPzOIxNngBrmv62xqqnR3CeWiJyvbDnAPe-LjM2CoxwaXJ8w_pfoFl4" style="margin-left: 0px; margin-top: 0px;" width="400" /></span></span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">接下來可能會問</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 14pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">Input 是一串 Sequence 的模型,輸出有哪些可能性?</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">類型一:</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">輸出跟輸入數量一樣,一對一,每個輸入都對應一個 label </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 117px; overflow: hidden; width: 452px;"><img height="117" src="https://lh4.googleusercontent.com/uIK2P9tlp63uPiy4B0IIEEs4z545Dh_8fqElO9Xas5FTxi32-jPbeDx5HT4Gem5KsHO_EuFzHf1K1_cJhITiBTpy2_Ol3Ird9rhBhLF6AjA1zG5uRB0lLaxpiDiFDyh0jjOu3j0" style="margin-left: 0px; margin-top: 0px;" width="452" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">例如:</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 206px; overflow: hidden; width: 182px;"><img height="206" src="https://lh5.googleusercontent.com/bz_d3mB3RtM2veFoIfjKkZBLfcqRRAzpCv4f_oyTNH0eHuaCPQyXQe8TS5quthBCXFy_KPSvInCDKRzMvnEOuUNRQ1KCZekeUDK3S-bWpCYPV70twwIoOdVxsI9MMvKmDkLjiOc" style="margin-left: 0px; margin-top: 0px;" width="182" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">類型二:</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">整句輸入對應到的輸出是一個 label</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 68px; overflow: hidden; width: 359px;"><img height="84.6046511627907" src="https://lh3.googleusercontent.com/ZR4NHYroiKA-YDU9jwpXWaQvsNB-CYvzorl__FixD4yoqCrFb8vgQDd8-1z2LInM9JD7W9NYYCDmi5GmqtnrHQ8EOlvCS7AkunI_SY1H7obG5__UNpAVFkiOp0OpipGx4jLLbE4" style="margin-left: 0px; margin-top: 0px;" width="359" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">類型三:</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">輸出的長度是不固定的,交由機器自行決定</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 117px; overflow: hidden; width: 481px;"><img height="117" src="https://lh4.googleusercontent.com/LzeQMI-sQecs4nv94jEDYthGOUvJ07lp61xzhiZWpRDZrK_W8E-Oi9p79S2E0Ugf0B-bSRfcq6xFL3VK7qXqVBWsdvkOyC1wACCilFCVp02pXYQHdoqrKRD1ECbbN6_SyYc8Qz4" style="margin-left: 0px; margin-top: 0px;" width="481" /></span></span></p><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">在此我們先討論</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">第一種類型</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">,輸入輸出數目一樣多的類型的問題</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">這樣的類型</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">又稱為:Sequence Labeling</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 126px; overflow: hidden; width: 453px;"><img height="126" src="https://lh4.googleusercontent.com/27A2JgRyiNtWfg_yTEioYz28-Pb7fQVruCOhfoVJ7F9Xd7I4ybpZQMz9D4F2pIybQeGSfa40dV34_Uc3iqSj2t5TaiPyYq4LEUkC0-f7cKCnc9doTmQHj2c6Xr7Mhz97kDfE-WQ" style="margin-left: 0px; margin-top: 0px;" width="453" /></span></span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">input sequence 與 output sequence 是一對一的對應關係</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">假設 input 一個句子 “I saw a saw” (我看到一個鋸子) 要做到</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">詞性標記問題</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 183px; overflow: hidden; width: 277px;"><img height="183" src="https://lh3.googleusercontent.com/O2jywx1zTrVlsvRxBgU088uNE8MB72XrHWb_9FYjkzSHHnqeUzenlJOVacE2ViBITBMSprgE4w34goejKOx4kFfm1w6b88vkgSm1oRTtmnvFQhsz1f24P_eq024HX0_ZSYM__pI" style="margin-left: 0px; margin-top: 0px;" width="277" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">我們期待</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">第一個 saw 要輸出</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">動詞</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">第二個 saw 要輸出</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">名詞</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">如果我們把每個 input 都</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">分別</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">丟到 fully connected network 的話,無法做到這樣的事情 (當輸入都是相同的單字 saw 不可能產生不一樣的 output)</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">因此為了做到這樣的事情,我們可以把上下文的 input 向量都串起來,一起丟到 fully connected network 裡面</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><br /></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 245px; overflow: hidden; width: 363px;"><img height="245" src="https://lh4.googleusercontent.com/Ph9kJGye0lsh0IvxGclVxRrdousmYiRTY4C8yXIloxiROLOz5mCqY9vG75yV5l3si56FMVOlp3AC2HIf39zBXlJp-T1h5K3Poe0HtP7mnK-owKV4FAe6c1bcct9qATKnLyLAOtQ" style="margin-left: 0px; margin-top: 0px;" width="363" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">我們可以給 fully connected network 一整個 window 的資訊,讓他考慮上下文相鄰的資訊來產生適當的 output</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">但這樣的做法還是有極限,如果有個任務,需要考慮整個 sequence 才能解,該怎麼辦呢?</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">sequence 的長度是有長有短,根本不知道極限在哪</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">因此需要用到接下來要介紹的</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"> self-attention</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> 的這個技術</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 14pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">Self-attention 架構簡介</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 284px; overflow: hidden; width: 356px;"><img height="284" src="https://lh3.googleusercontent.com/UAPiyCVZ0HDVs8z2pcJTYbw7661iqMQCElHvGKzSW91K_xI3DbZZlpLduxVso0PQprp2-fFcLCZiOF0tskLkofC1W_sYjoRiGgrCV97v1w1Phyxpch5UIac1zzihsZiCePfW1HY" style="margin-left: 0px; margin-top: 0px;" width="356" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">如圖:四個 input 的 vector </span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">過了 self-attention layer 後</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">,分別加了黑色框框,代表著這四個 vector 都已經</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">考慮過整個 sequence </span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">的資訊了</span></p><ul style="margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;"><li aria-level="1" dir="ltr" style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">過了 self-attention 後,可以使得每一個 input vector 對應的 output 都考慮過整個 input sequence 當中的所有資訊了,然後再把 output 拿去做後續的處理,像是過 FC</span></p></li></ul><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">這樣的 Self-attention 架構可以任意延伸擴大,將 attention 跟 Fully connected netword 混搭</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">例如這樣</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 316px; overflow: hidden; width: 361px;"><img height="316" src="https://lh5.googleusercontent.com/vXYz7yH-SGvoFH5uOpEh-1tliHpwOhqgABolt7QHDEeMgLf_tImlKZZeKl-b6ocZMgpD61LJlrOrqBQiIrsYHZQ4l_bC7KFQWRzfdDy7LI8VvkP-9SYjpmmbRLQq5GJb7xvOKG8" style="margin-left: 0px; margin-top: 0px;" width="361" /></span></span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">接下來介紹 self-attention 的詳細內容</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 14pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">Self-attention 詳細架構</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">self-attetion 的 input 是一串的 vector 一排 a 向量</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">output 是另一排 b 向量</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">每一個 b 都是考慮了所有的 a 以後才產生的</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">(每一個 output 向量,都是考慮了每一個 input 所產生的)</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 293px; overflow: hidden; width: 397px;"><img height="293" src="https://lh5.googleusercontent.com/ZJUClT0yADax2p_DSlumrv7Js8TVw0xgZRK7b8vYxUuDKrYd-U91v1rvIQ_9mLQhCDeqO2Z0PcfYEe1Yd0CYkqiBW78TpFQgScy3YzCbSwobMdB_s-Vswdid57yV7cKevmIiImg" style="margin-left: 0px; margin-top: 0px;" width="397" /></span></span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">接下來,來說明怎麼產生 b1 這個向量,知道了 b1 怎麼產生,就同理知道其他的 b2,b3,b4... 向量怎麼產生的</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">根據 a1 向量,找出整個 sequence 裡面到底哪些部分是重要的資訊!</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">每一個向量跟 a1 的關聯程度用 ꭤ 來表示 </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">此時,我們需要一個計算模組:兩個向量輸入,輸出 ꭤ 值</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 271px; overflow: hidden; width: 423px;"><img height="271" src="https://lh3.googleusercontent.com/Xo2SLs81L_4kaoYw7yJPP6tdkPr8BfbztBXmMUovnxswW57XXewf49RSWswxocVqIcTZpIJgFRMK65WQ0WTlNAL_sZ5cmeiO4dWadkXkB7xB7KfUmjUx6MzLCwetIwnl5q-cfXk" style="margin-left: 0px; margin-top: 0px;" width="423" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">ꭤ 的計算方法:</span></p><div align="left" dir="ltr" style="margin-left: 0pt;"><table style="border-collapse: collapse; border: none; table-layout: fixed; width: 451.276pt;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">有兩種 Dot-product 跟 Additive 的計算方式</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 280px; overflow: hidden; width: 358px;"><img height="280" src="https://lh4.googleusercontent.com/D4wNjl8LfofAHaOfMfEy7_m7lTDPcmYa3FCbLfU767bYRK9arZzb7uf6ali-lHhUOM0_N-xh84eXYQWu2XPolauYJMfFCrBQJBqVzRui0aqW5X3B7CDPHsiBj7oTSihCuR_7NKo" style="margin-left: 0px; margin-top: 0px;" width="358" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Dot-product</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">把 input 兩向量,分別乘上兩個不同的矩陣 W</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">q</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> 跟 W</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">k</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">,就會得到 q 跟 k 這兩個向量</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">再把 q 跟 k 做 dot-product 就可以得到 ꭤ </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Additive</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">把 input 兩向量,分別乘上兩個不同的矩陣 W</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">q</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> 跟 W</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">k</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">,就會得到 q 跟 k 這兩個向量</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">再把 q 跟 k 串起來,過一個 activation fuction 再過一個矩陣 W 就可以得到 ꭤ </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">總之,有非常多不同方法可以計算 attention 的 ꭤ 值,但我們接下來的討論都以 Dot-product 的計算方法為主,他也是 transformer 裡面所採用的方法</span></p></td></tr></tbody></table></div><br /><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">補充說明:</span></p><div align="left" dir="ltr" style="margin-left: 0pt;"><table style="border-collapse: collapse; border: none; table-layout: fixed; width: 451.276pt;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">複習一下 dot-product 的定義 (ref: </span><a href="https://zh.wikipedia.org/wiki/%E7%82%B9%E7%A7%AF" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://zh.wikipedia.org/wiki/%E7%82%B9%E7%A7%AF</span></a><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">)</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 108px; overflow: hidden; width: 425px;"><img height="108" src="https://lh4.googleusercontent.com/oi1qag6ng81w-1IY7FCiB9-GaA01fiJZqpAlcrS7LiN12Y4-ALdgMNdJFrnOWjBDfjk2TDwZcEZCzHsMx4OR4yEoYE35_Tjiz3JQWeaFN-jxjf_Ne6M2rYVDNiE1ZnuZXQ3avFM" style="margin-left: 0px; margin-top: 0px;" width="425" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 36px; overflow: hidden; width: 112px;"><img height="49.84280343739555" src="https://lh4.googleusercontent.com/EEQLB3_34A_GjoQQhX2YKjYsBuqEyYFVb441Pq24pYMft9VSpdNSkDGgMUlEqueXiGOjJkv6BCPZzzJ0-fzmC2fAE4QCuC9ec2X1CCyj-LoBT0tueYzsPEbnlNbsbCDEb1ouY1Y" style="margin-left: -16.5517px; margin-top: -5.51746px;" width="133.51724137931032" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 72px; overflow: hidden; width: 220px;"><img height="72" src="https://lh3.googleusercontent.com/-Tkp2H0aAZTI3Cc2-A2AE-zvAbtA3nQp1YT5JIKtMWNmioW2EVD-rdCxP-gl_PR6E3sz-KzA1ggzixK9eHs8h676ld89oqEx9m-8s7fB1aoHXQAlNTvO-hD_zjNzCJcf1wkJRn8" style="margin-left: 0px; margin-top: 0px;" width="220" /></span></span></p><p dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 107px; overflow: hidden; width: 323px;"><img height="107" src="https://lh4.googleusercontent.com/BNrH2eTGZbQegaSHq3P5R7Hs-dQtuLKVfoB3XjWJzYObCz1dZMnnSjzBVGW1zQfGI2lKc66spG0UF3KcziUisxBT-eggehmU2DlDJ3RFXKHWmTaxNrOmKcoDWAPLMcXMEBSfnCE" style="margin-left: 0px; margin-top: 0px;" width="323" /></span></span></p></td></tr></tbody></table></div><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">把 a1 跟 a2, a3, a4 分別都去做 ꭤ 的計算,計算出關聯性</span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">我們把 input a1 乘上 W</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">q</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> 得到 q1 我們把 q1 vector 稱為 query,代表我們要搜尋的目標</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">把 a2 乘上 W</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">k</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> 得到 k2,我們把 k2 這個 vector 稱為 key</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">把 q1 跟 k2 做 dot-product 就會得到 ꭤ(1,2) 這個值我們稱為 attention score</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">同理 q1 跟 k3, k4 分別可以算出關聯性</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 272px; overflow: hidden; width: 494px;"><img height="272" src="https://lh6.googleusercontent.com/mmog-T5UmkDPDYJPbmo6vXaoRalx3-2BO2RZrE536axtZoVpZyyAuZ07G9vtemmWs37Sn23ki___cBIaTN15cZnZyuk3x9lEWRjTCa1lSshx5y_lneo6lb_CqjnbVfVZKngOkjs" style="margin-left: 0px; margin-top: 0px;" width="494" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">實作上,我們也會把 a1 跟自己做關聯性的運算!</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 226px; overflow: hidden; width: 409px;"><img height="226" src="https://lh3.googleusercontent.com/yjM_zwRau6f_uoKHyucCmuEP8LR0DNknn4V_Wxw67jH2FcGfM2xE2tXsRlRvPo78OfOCKd1kiymAAIavX3W9yN0awGEiN-TIkh8kCYfXJsM4_7Hdpdj4L307Z8dImJMYnpdFiM8" style="margin-left: 0px; margin-top: 0px;" width="409" /></span></span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">做完 a1 跟每一個向量的關聯性 ꭤ 之後,我們會過一個 softmax 得到 ꭤ’ </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 303px; overflow: hidden; width: 401px;"><img height="318.29587879917835" src="https://lh5.googleusercontent.com/x6QYmUpC0qB_-D7kmTKH7fM6ExWeffpaZKm86Xr6MJfumJ7MUmL0TpyHtnw5eB7aa4R46WdqnanUE3NJ6Oak1pTMDcYHryHfe3hng1_4Y34RsEWZbJwean0Dzu4HUl8vI1miJdc" style="margin-left: 0px; margin-top: -6.80839px;" width="401" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">這邊其實也可以不用過 softmax 可以自己試試看,有些實驗中換成 reLU 會得到更好的結果</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">得到 ꭤ’ 以後,接下來我們就要根據 ꭤ’ 來 sequence 裡面抽取重要的資訊</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 273px; overflow: hidden; width: 389px;"><img height="273" src="https://lh3.googleusercontent.com/7ezIrBdzMqeP2HoyUm9F8D6aPgyPXJPcT43E4rgAH0knUrKCoBTvGtqDFt_nXu52sekK7pKoU0B0SydMtXrf7yinNlwwZC5FHaTfxkis-2da7ohqWf_UFwACbu93aVvTSDFxIpM" style="margin-left: 0px; margin-top: 0px;" width="389" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">我們把 a1, a2, a3, a4 乘上 W</span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: 0.6em; vertical-align: super;">v</span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> 得到 v1, v2, v3, v4 </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">接下來把 v1 到 v4 每一個向量都分別去乘上對應的 ꭤ’ 全部加起來,就可以得到 b1 值</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 274px; overflow: hidden; width: 389px;"><img height="274" src="https://lh5.googleusercontent.com/gEEiJ1D3BMctl9rSRJWmrFpcqHerfhw8xBH41Q_2eVfbZ5_WfvEjat5IRbYhuVjt66iHK_0Q7bALmvNi7UG4fagVvDivYo3ZxHZb1E-uTMFec7ibJ74YQdLb_-GG0Q0_9w3xNas" style="margin-left: 0px; margin-top: 0px;" width="389" /></span></span><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">如此終於完成了 b1 的計算!</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">同理,b2 也仿照相同的步驟計算出來</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 257px; overflow: hidden; width: 384px;"><img height="257" src="https://lh5.googleusercontent.com/8WL1hZqU56wcJzXcvfko7gR9CAcoaJu-0AEjUJCARtgFYoBJt7r9-tOUhQX8ceCbPuGpDSfcsJe7pSgELxScHsxcGnpb3I6Ha1V40oN4UdOb_Lj5Q6xhLD55vbfHELSRvDziAcI" style="margin-left: 0px; margin-top: 0px;" width="384" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="border: none; display: inline-block; height: 286px; overflow: hidden; width: 390px;"><img height="292.8172193484737" src="https://lh4.googleusercontent.com/YHyagUSkURqxZmx2JGOm2NDyYPFWFoBRx3UX5oeGPwUVN-4_ZC0xHnbqtPBK94Z_3AQKjWQ6vWh5x0DeDI5UCM65filBrFeZTU-9OiMEFzUgJW1CYpJUHR8nz_7rCU_fANWGJRg" style="margin-left: 0px; margin-top: 1.47136e-12px;" width="390" /></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">這裡的 b1 ~ b4 的運算是可平行化的!不需要依序運算</span></p><div><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div><div><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">(下集待續...)</span></div><div><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><a href="http://violin-tao.blogspot.com/2021/12/ml-self-attention_2.html">[ML 筆記] 自注意機制 Self-attention (下)</a></span></div><div><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div><div><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><div class="part" data-endline="101" data-startline="100" style="box-sizing: border-box; color: #333333; font-family: -apple-system, system-ui, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", 微軟正黑, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; letter-spacing: 0.35px; position: relative; white-space: normal;"><h3 style="letter-spacing: 0.35px;">相關文章整理</h3><h4 style="letter-spacing: 0.35px;"><ul><li><a href="https://violin-tao.blogspot.com/2017/07/ml-introduction-of-deep-learning.html" target="_blank">[ML筆記] Introduction of Deep Learning</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-backpropagation.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Backpropagation</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-tips-for-training-dnn.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Tips for Training DNN</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-convolutional-neural-network-cnn.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Convolutional Neural Network (CNN)</a></li><li><a href="https://violin-tao.blogspot.com/2017/07/ml-why-deep.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Why Deep?</a></li><li><a href="https://violin-tao.blogspot.com/2018/02/ml-batch-normalization.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Batch Normalization</a></li></ul><div></div></h4><h4 style="letter-spacing: 0.35px;"><ul><li><a href="https://violin-tao.blogspot.com/2017/12/ml-recurrent-neural-network-rnn-part-i.html" style="letter-spacing: 0.35px;" target="_blank">[ML筆記] Recurrent Neural Network (RNN) - Part I</a><span style="letter-spacing: 0.35px;"> (圖解概念說明版本)</span></li><li><a href="https://violin-tao.blogspot.com/2018/01/ml-recurrent-neural-network-rnn-part-ii.html" target="_blank">[ML筆記] Recurrent Neural Network (RNN) - Part II</a> (圖解概念說明版本)</li><li><a href="https://violin-tao.blogspot.com/2019/08/rnn.html" target="_blank">RNN 筆記 - 基礎架構</a> (數學式探討版本)</li><li><a href="https://violin-tao.blogspot.com/2019/08/rnn_4.html" style="letter-spacing: 0.35px;" target="_blank">RNN 筆記 - 損失函數與反向傳遞演算</a> (數學式探討版本)</li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-self-attention.html">[ML 筆記] Self-attention (上)</a></li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-self-attention_2.html">[ML 筆記] Self-attention (下)</a></li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-transformer.html">[ML 筆記] Transformer (上)</a></li><li><a href="https://violin-tao.blogspot.com/2021/12/ml-transformer_13.html">[ML 筆記] Transformer (下)</a></li></ul><ul></ul></h4></div></span></div></span>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com1tag:blogger.com,1999:blog-7086866650111816223.post-78016986717700909972020-08-27T02:22:00.001-07:002020-08-27T02:22:28.319-07:00[筆記] 手刻的圖片前處理步驟 Understanding Torchvision transform.Normalize<h1 class="part" data-endline="1" data-id="Understanding-Torchvision-transformNormalize" data-startline="1" id="Understanding-Torchvision-transformNormalize" style="background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; letter-spacing: 0.35px; line-height: 1.25; margin: 0px 0px 16px; padding-bottom: 0.3em;"><span data-position="2" data-size="45" style="box-sizing: border-box;">Understanding Torchvision transform.Normalize</span></h1><p class="part" data-endline="3" data-position="49" data-size="0" data-startline="3" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="49" data-size="98" style="box-sizing: border-box;">做 Deep Learning 影像辨識實驗時最常用的 pre-train model 就是以 ImageNet 資料訓練出來的 model,此時使用 model 時的圖片前處理就要注意幾個事項:</span></p><ol class="part" data-endline="12" data-position="148" data-size="0" data-startline="4" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="4" data-position="151" data-size="0" data-startline="4" style="box-sizing: border-box;"><span data-position="151" data-size="32" style="box-sizing: border-box;">model 架構中要求的圖片長寬 (Height, Width)</span></li><li data-endline="5" data-position="187" data-size="0" data-startline="5" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="187" data-size="27" style="box-sizing: border-box;">讀取圖片時的 Channel 順序 RGB 或 BGR</span></li><li data-endline="12" data-position="218" data-size="0" data-startline="6" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="218" data-size="43" style="box-sizing: border-box;">ImageNet 資料集的圖片 Channel 的平均值(mean)與標準差(std)</span><br style="box-sizing: border-box;" /><span data-position="265" data-size="15" style="box-sizing: border-box;">以下順序為 [R, G, B]</span><ul style="box-sizing: border-box; margin-bottom: 0px; margin-top: 0px; padding-left: 2em;"><li data-endline="8" data-position="287" data-size="0" data-startline="8" style="box-sizing: border-box;"><span data-position="287" data-size="28" style="box-sizing: border-box;">Mean = [0.485, 0.456, 0.406]</span></li><li data-endline="12" data-position="322" data-size="0" data-startline="9" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="322" data-size="27" style="box-sizing: border-box;">Std = [0.229, 0.224, 0.225]</span></li></ul></li></ol><p class="part" data-endline="13" data-position="353" data-size="0" data-startline="13" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="353" data-size="101" style="box-sizing: border-box;">知名的深度學習框架 pytorch 有提供一個好用的圖片處理工具 torchvision 來做各式各樣常用圖片前處理,因此可以很簡地透過 torchvision 裡的 transform 做完以上幾件事</span></p><p class="part" data-endline="17" data-position="456" data-size="0" data-startline="15" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="456" data-size="23" style="box-sizing: border-box;">以下範例以 Inception V3 架構為例</span><br style="box-sizing: border-box;" /><span data-position="480" data-size="21" style="box-sizing: border-box;">這個模型要求圖片輸入尺寸為 299x299</span><br style="box-sizing: border-box;" /><span data-position="502" data-size="20" style="box-sizing: border-box;">Inception V3 paper: </span><a href="https://arxiv.org/abs/1512.00567v3" rel="noopener" style="background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration-line: none;" target="_blank">https://arxiv.org/abs/1512.00567v3</a></p><p class="part" data-endline="19" data-position="558" data-size="0" data-startline="19" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="558" data-size="0" style="box-sizing: border-box; font-weight: 700;">pytorch code:</span></p><pre class="part" data-endline="37" data-position="576" data-startline="20" style="background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: menlo, monaco, consolas, "courier new", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code class="python hljs" style="background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: menlo, monaco, consolas, "courier new", monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;"><span class="hljs-keyword" style="box-sizing: border-box; color: #a71d5d;">from</span> PIL <span class="hljs-keyword" style="box-sizing: border-box; color: #a71d5d;">import</span> Image
<span class="hljs-keyword" style="box-sizing: border-box; color: #a71d5d;">from</span> torchvision <span class="hljs-keyword" style="box-sizing: border-box; color: #a71d5d;">import</span> transform
height = <span class="hljs-number" style="box-sizing: border-box; color: #0086b3;">299</span>
width = <span class="hljs-number" style="box-sizing: border-box; color: #0086b3;">299</span>
test_transform = transforms.Compose([
transforms.Resize((height, width), interpolation=<span class="hljs-number" style="box-sizing: border-box; color: #0086b3;">3</span>),
transforms.ToTensor(),
transforms.Normalize(mean=[<span class="hljs-number" style="box-sizing: border-box; color: #0086b3;">0.485</span>, <span class="hljs-number" style="box-sizing: border-box; color: #0086b3;">0.456</span>, <span class="hljs-number" style="box-sizing: border-box; color: #0086b3;">0.406</span>], std=[<span class="hljs-number" style="box-sizing: border-box; color: #0086b3;">0.229</span>, <span class="hljs-number" style="box-sizing: border-box; color: #0086b3;">0.224</span>, <span class="hljs-number" style="box-sizing: border-box; color: #0086b3;">0.225</span>])
])
image_path = <span class="hljs-string" style="box-sizing: border-box; color: #df5000;">'data/dog.jpg'</span> <span class="hljs-comment" style="box-sizing: border-box; color: #969896;"># 圖片所在的路徑</span>
image = Image.open(image_path)
image = test_transform(image)
</code></pre><p class="part" data-endline="38" data-position="995" data-size="0" data-startline="38" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="995" data-size="12" style="box-sizing: border-box;">補充一個容易出錯的小重點</span></p><div class="alert alert-info part" data-endline="43" data-position="1008" data-size="129" data-startline="39" style="background-color: #d9edf7; border-radius: 4px; border: 1px solid rgb(188, 232, 241); box-sizing: border-box; color: #31708f; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 20px; padding: 15px;"><p data-position="1016" data-size="0" style="box-sizing: border-box; margin: 0px;"><span data-position="1016" data-size="34" style="box-sizing: border-box;">Pillow 跟 OpenCV 都是我非常常用於圖片讀取與處理的模組</span><br style="box-sizing: border-box;" /><span data-position="1051" data-size="26" style="box-sizing: border-box;">唯一要注意的就是兩者在讀取圖片時,RGB 的通道順序</span><br style="box-sizing: border-box;" /><span data-position="1086" data-size="23" style="box-sizing: border-box;">PIL (Pillow): [R, G, B]</span><br style="box-sizing: border-box;" /><span data-position="1118" data-size="23" style="box-sizing: border-box;">cv2 (OpenCV): [B, G, R]</span></p></div><p class="part" data-endline="47" data-position="1139" data-size="0" data-startline="46" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1139" data-size="32" style="box-sizing: border-box;">此外,在訓練為模型後做系統整合時,難免會遇到需要手動做以上的處理</span><br style="box-sizing: border-box;" /><span data-position="1172" data-size="34" style="box-sizing: border-box;">因此特別在此紀錄一下,上面的 code 如果要手刻的話,詳細步驟如下</span></p><h2 class="part" data-endline="48" data-id="Image-Normalization-steps" data-startline="48" id="Image-Normalization-steps" style="background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/_SkhAVpqS-qIlwNq4G1LVA?view#Image-Normalization-steps" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Image-Normalization-steps"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1210" data-size="25" style="box-sizing: border-box;">Image Normalization steps</span></h2><ul class="part" data-endline="52" data-startline="50" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="51" data-position="1239" data-size="0" data-startline="50" style="box-sizing: border-box;"><p data-position="1237" data-size="0" style="box-sizing: border-box; margin: 16px 0px;"><span data-position="1239" data-size="47" style="box-sizing: border-box;">Step 0: image resize to Height = 384, Width=128</span></p></li><li data-endline="52" data-position="1290" data-size="0" data-startline="52" style="box-sizing: border-box; padding-top: 0.25em;"><p data-position="1288" data-size="0" style="box-sizing: border-box; margin: 16px 0px;"><span data-position="1290" data-size="32" style="box-sizing: border-box;">Step1: range (0, 255) ro (0, 1)</span></p></li></ul><pre class="part" data-endline="56" data-position="1323" data-startline="53" style="background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: menlo, monaco, consolas, "courier new", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: menlo, monaco, consolas, "courier new", monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">for each pixel
pixel = pixel / 255
</code></pre><ul class="part" data-endline="58" data-startline="58" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="58" data-position="1373" data-size="0" data-startline="58" style="box-sizing: border-box;"><span data-position="1373" data-size="36" style="box-sizing: border-box;">Step 2: Mean = [0.485, 0.456, 0.406]</span></li></ul><pre class="part" data-endline="64" data-position="1410" data-startline="59" style="background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: menlo, monaco, consolas, "courier new", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: menlo, monaco, consolas, "courier new", monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">for each channel
R channel: pixel = pixel - 0.485
G channel: pixel = pixel - 0.456
B channel: pixel = pixel - 0.406
</code></pre><ul class="part" data-endline="66" data-startline="66" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="66" data-position="1549" data-size="0" data-startline="66" style="box-sizing: border-box;"><span data-position="1549" data-size="35" style="box-sizing: border-box;">Step 3: Std = [0.229, 0.224, 0.225]</span></li></ul><pre class="part" data-endline="72" data-position="1585" data-startline="67" style="background-color: #f7f7f7; border-radius: 3px; border: inherit; box-sizing: border-box; color: #333333; font-family: menlo, monaco, consolas, "courier new", monospace; font-size: 13.6px; letter-spacing: 0.35px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; word-break: break-all;"><code style="background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; color: inherit; display: inline; font-family: menlo, monaco, consolas, "courier new", monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">for each channel
R channel: pixel = pixel / 0.229
G channel: pixel = pixel / 0.224
B channel: pixel = pixel / 0.225</code></pre><p><br /></p><p> </p>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0tag:blogger.com,1999:blog-7086866650111816223.post-83149241526233456932020-08-11T00:20:00.005-07:002020-08-11T00:29:57.209-07:00[筆記] Ableton Live Note 8<h1 class="part" data-endline="1" data-id="Ableton-Live-Note-8" data-startline="1" id="Ableton-Live-Note-8" style="background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; letter-spacing: 0.35px; line-height: 1.25; margin: 0px 0px 16px; padding-bottom: 0.3em;"><span data-position="2" data-size="20" style="box-sizing: border-box;">Ableton Live Note #8</span></h1><p class="part" data-endline="3" data-position="24" data-size="0" data-startline="3" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="24" data-size="11" style="box-sizing: border-box;">SERUM 合成器特論</span></p><h3 class="part" data-endline="5" data-id="Oscillator-裡面的聲音質地可以選" data-startline="5" id="Oscillator-裡面的聲音質地可以選" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#Oscillator-%E8%A3%A1%E9%9D%A2%E7%9A%84%E8%81%B2%E9%9F%B3%E8%B3%AA%E5%9C%B0%E5%8F%AF%E4%BB%A5%E9%81%B8" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Oscillator-裡面的聲音質地可以選"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="41" data-size="16" style="box-sizing: border-box;">Oscillator 裡面的聲音</span><mark style="background: rgb(255, 241, 167); box-sizing: border-box; padding: 0.2em;"><span data-position="59" data-size="2" style="box-sizing: border-box;">質地</span></mark><span data-position="63" data-size="3" style="box-sizing: border-box;">可以選</span></h3><ul class="part" data-endline="8" data-startline="6" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="6" data-position="69" data-size="0" data-startline="6" style="box-sizing: border-box;"><span data-position="69" data-size="16" style="box-sizing: border-box;">Spectral 模擬管樂的波型</span></li><li data-endline="8" data-position="88" data-size="0" data-startline="7" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="88" data-size="13" style="box-sizing: border-box;">Vowel 模擬人聲的波型</span></li></ul><h3 class="part" data-endline="9" data-id="SERUM-獲得波形的方式" data-startline="9" id="SERUM-獲得波形的方式" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#SERUM-%E7%8D%B2%E5%BE%97%E6%B3%A2%E5%BD%A2%E7%9A%84%E6%96%B9%E5%BC%8F" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="SERUM-獲得波形的方式"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="107" data-size="13" style="box-sizing: border-box;">SERUM 獲得波形的方式</span></h3><ol class="part" data-endline="17" data-position="121" data-size="0" data-startline="10" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="10" data-position="124" data-size="0" data-startline="10" style="box-sizing: border-box;"><span data-position="124" data-size="7" style="box-sizing: border-box;">Presets</span></li><li data-endline="11" data-position="135" data-size="0" data-startline="11" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="135" data-size="20" style="box-sizing: border-box;">Wavetable Editor自己繪製</span></li><li data-endline="12" data-position="159" data-size="0" data-startline="12" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="159" data-size="13" style="box-sizing: border-box;">Import Sample</span></li><li data-endline="13" data-position="176" data-size="0" data-startline="13" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="176" data-size="7" style="box-sizing: border-box;">輸入PNG圖片</span></li><li data-endline="14" data-position="187" data-size="0" data-startline="14" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="187" data-size="14" style="box-sizing: border-box;">購買他人製作的Preset包</span></li><li data-endline="15" data-position="205" data-size="0" data-startline="15" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="205" data-size="16" style="box-sizing: border-box;">透過 FFT 傅立葉轉換取得波型</span></li><li data-endline="17" data-position="225" data-size="0" data-startline="16" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="225" data-size="8" style="box-sizing: border-box;">輸入函數取得波形<span><a name='more'></a></span></span></li></ol><h2 class="part" data-endline="18" data-id="可以把聲音波型丟到-Serum-裡面讀取波型,變成可以編輯的聲音" data-startline="18" id="可以把聲音波型丟到-Serum-裡面讀取波型,變成可以編輯的聲音" style="background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#%E5%8F%AF%E4%BB%A5%E6%8A%8A%E8%81%B2%E9%9F%B3%E6%B3%A2%E5%9E%8B%E4%B8%9F%E5%88%B0-Serum-%E8%A3%A1%E9%9D%A2%E8%AE%80%E5%8F%96%E6%B3%A2%E5%9E%8B%EF%BC%8C%E8%AE%8A%E6%88%90%E5%8F%AF%E4%BB%A5%E7%B7%A8%E8%BC%AF%E7%9A%84%E8%81%B2%E9%9F%B3" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="可以把聲音波型丟到-Serum-裡面讀取波型,變成可以編輯的聲音"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="238" data-size="32" style="box-sizing: border-box;">可以把聲音波型丟到 Serum 裡面讀取波型,變成可以編輯的聲音</span></h2><p class="part" data-endline="22" data-position="272" data-size="0" data-startline="20" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="272" data-size="20" style="box-sizing: border-box;">Step1: 選取 sample 聲音檔</span><br style="box-sizing: border-box;" /><span data-position="293" data-size="23" style="box-sizing: border-box;">Step2: 丟進 Oscillator 裡面</span><br style="box-sizing: border-box;" /><span data-position="317" data-size="14" style="box-sizing: border-box;">Step3: 此時,重點來了</span></p><ul class="part" data-endline="40" data-startline="23" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="25" data-position="334" data-size="0" data-startline="23" style="box-sizing: border-box;"><p data-position="332" data-size="0" style="box-sizing: border-box; margin: 16px 0px;"><span data-position="334" data-size="12" style="box-sizing: border-box;">簡單的聲音 丟第一個模式</span><br style="box-sizing: border-box;" /><img alt="" data-position="347" data-size="36" src="https://i.imgur.com/15oIXzc.jpg" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p></li><li data-endline="28" data-position="387" data-size="0" data-startline="26" style="box-sizing: border-box; padding-top: 0.25em;"><p data-position="385" data-size="0" style="box-sizing: border-box; margin: 16px 0px;"><span data-position="387" data-size="33" style="box-sizing: border-box;">複雜的聲音 丟第二個模式 dynamic pitch follow</span></p></li><li data-endline="31" data-position="425" data-size="0" data-startline="29" style="box-sizing: border-box; padding-top: 0.25em;"><p data-position="423" data-size="0" style="box-sizing: border-box; margin: 16px 0px;"><span data-position="425" data-size="40" style="box-sizing: border-box;">第三個模式:不知道丟什麼模式時,就丟第三個 constant framesize</span></p></li><li data-endline="40" data-position="470" data-size="0" data-startline="32" style="box-sizing: border-box; padding-top: 0.25em;"><p data-position="468" data-size="0" style="box-sizing: border-box; margin: 16px 0px;"><span data-position="470" data-size="17" style="box-sizing: border-box;">下面三個模式 FFT(傅立葉轉換)</span><br style="box-sizing: border-box;" /><span data-position="488" data-size="20" style="box-sizing: border-box;">256, 512, 1024 就差在音高</span></p><ol data-position="513" data-size="0" style="box-sizing: border-box; margin-bottom: 0px; margin-top: 0px; padding-left: 2em;"><li data-endline="36" data-position="516" data-size="0" data-startline="34" style="box-sizing: border-box;"><span data-position="517" data-size="31" style="box-sizing: border-box;">把一段 Vocal Sample 丟進去其中一個 FFT 模式</span><br style="box-sizing: border-box;" /><span data-position="549" data-size="9" style="box-sizing: border-box;">把 LFO1 按著</span><br style="box-sizing: border-box;" /><img alt="" data-position="559" data-size="36" src="https://i.imgur.com/s3rFwT0.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></li><li data-endline="40" data-position="603" data-size="0" data-startline="37" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="603" data-size="10" style="box-sizing: border-box;">拖曳到 WT POS</span><br style="box-sizing: border-box;" /><img alt="" data-position="614" data-size="36" src="https://i.imgur.com/dCwwhzi.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /><br style="box-sizing: border-box;" /><span data-position="651" data-size="24" style="box-sizing: border-box;">按琴鍵的長音聽聽看,就可以聽到完整的調整過的聲音</span></li></ol></li></ul><p class="part" data-endline="43" data-position="677" data-size="0" data-startline="41" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><img alt="" data-position="677" data-size="36" src="https://i.imgur.com/hIxFIsv.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /><br style="box-sizing: border-box;" /><span data-position="722" data-size="35" style="box-sizing: border-box;">3. 速度使用 Rate 旋鈕調整,看要幾小節(bar)播放完一個循環</span><br style="box-sizing: border-box;" /><span data-position="770" data-size="14" style="box-sizing: border-box;">(我目前是設定 1 bar)</span></p><ul class="part" data-endline="63" data-startline="45" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="63" data-position="778" data-size="0" data-startline="45" style="box-sizing: border-box;"><p data-position="776" data-size="0" style="box-sizing: border-box; margin: 16px 0px;"><mark style="background: rgb(255, 241, 167); box-sizing: border-box; padding: 0.2em;"><span data-position="780" data-size="7" style="box-sizing: border-box;">第七個模式!!</span></mark><span data-position="789" data-size="7" style="box-sizing: border-box;"> (藏在裡面)</span></p><ol data-position="801" data-size="0" style="box-sizing: border-box; margin-bottom: 0px; margin-top: 0px; padding-left: 2em;"><li data-endline="47" data-position="804" data-size="0" data-startline="46" style="box-sizing: border-box;"><span data-position="805" data-size="7" style="box-sizing: border-box;">按下右上角的筆</span><br style="box-sizing: border-box;" /><img alt="" data-position="813" data-size="36" src="https://i.imgur.com/7rGq4Gt.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></li><li data-endline="51" data-position="861" data-size="0" data-startline="48" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="861" data-size="18" style="box-sizing: border-box;">進去以後 import 的地方點開來</span><br style="box-sizing: border-box;" /><img alt="" data-position="880" data-size="36" src="https://i.imgur.com/jYtS3bE.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /><br style="box-sizing: border-box;" /><span data-position="925" data-size="22" style="box-sizing: border-box;">可以發現除了上述六種模式,還有一個第七種模式</span><br style="box-sizing: border-box;" /><span data-position="952" data-size="7" style="box-sizing: border-box;">這個模式點進去</span></li><li data-endline="53" data-position="967" data-size="0" data-startline="52" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="968" data-size="13" style="box-sizing: border-box;">選擇要輸入的 sample</span><br style="box-sizing: border-box;" /><img alt="" data-position="982" data-size="36" src="https://i.imgur.com/pIgFfTB.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></li><li data-endline="55" data-position="1033" data-size="0" data-startline="54" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="1033" data-size="6" style="box-sizing: border-box;">即可看到畫面</span><br style="box-sizing: border-box;" /><img alt="" data-position="1040" data-size="36" src="https://i.imgur.com/shDCcD8.jpg" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></li><li data-endline="57" data-position="1091" data-size="0" data-startline="56" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="1091" data-size="36" style="box-sizing: border-box;">此種方法 Serum 不會切割波型,可以當作 simpler 的功能來使</span><br style="box-sizing: border-box;" /><span data-position="1135" data-size="2" style="box-sizing: border-box;">用!</span></li><li data-endline="60" data-position="1145" data-size="0" data-startline="58" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="1145" data-size="14" style="box-sizing: border-box;">可以使用 Asym 來玩聲音</span><br style="box-sizing: border-box;" /><img alt="" data-position="1160" data-size="36" src="https://i.imgur.com/GKfl17V.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></li></ol><p data-position="1212" data-size="0" style="box-sizing: border-box; margin: 16px 0px;"><img alt="" data-position="1216" data-size="36" src="https://i.imgur.com/oEaGp4U.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /><br style="box-sizing: border-box;" /><span data-position="1259" data-size="15" style="box-sizing: border-box;">做完滿意可以按下左上角儲存起來</span></p></li></ul><h2 class="part" data-endline="64" data-id="透過-PNG-圖片來產生波型" data-startline="64" id="透過-PNG-圖片來產生波型" style="background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#%E9%80%8F%E9%81%8E-PNG-%E5%9C%96%E7%89%87%E4%BE%86%E7%94%A2%E7%94%9F%E6%B3%A2%E5%9E%8B" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="透過-PNG-圖片來產生波型"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1277" data-size="14" style="box-sizing: border-box;">透過 PNG 圖片來產生波型</span></h2><p class="part" data-endline="68" data-position="1293" data-size="0" data-startline="66" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1293" data-size="31" style="box-sizing: border-box;">網路上找圖,使用MAC螢幕截圖,就會在桌面有 PNG File</span><br style="box-sizing: border-box;" /><span data-position="1325" data-size="12" style="box-sizing: border-box;">拖曳到 SERUM 裡面</span><br style="box-sizing: border-box;" /><img alt="" data-position="1338" data-size="36" src="https://i.imgur.com/6P6RJxq.jpg" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part" data-endline="71" data-position="1376" data-size="0" data-startline="70" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1376" data-size="29" style="box-sizing: border-box;">看 3D 圖… 變成 HOW HOW 的形狀了呢…</span><br style="box-sizing: border-box;" /><img alt="" data-position="1406" data-size="36" src="https://i.imgur.com/GhnbNCu.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h2 class="part" data-endline="73" data-id="自己畫波型" data-startline="73" id="自己畫波型" style="background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#%E8%87%AA%E5%B7%B1%E7%95%AB%E6%B3%A2%E5%9E%8B" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="自己畫波型"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1447" data-size="5" style="box-sizing: border-box;">自己畫波型</span></h2><p class="part" data-endline="77" data-position="1453" data-size="0" data-startline="74" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1453" data-size="9" style="box-sizing: border-box;">按下畫筆 進入編輯</span><br style="box-sizing: border-box;" /><img alt="" data-position="1463" data-size="36" src="https://i.imgur.com/7doI5TL.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /><br style="box-sizing: border-box;" /><span data-position="1500" data-size="23" style="box-sizing: border-box;">選擇想要的形狀,還有可以調整 Grid 的大小</span><br style="box-sizing: border-box;" /><img alt="" data-position="1524" data-size="36" src="https://i.imgur.com/LrQcW9F.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h2 class="part" data-endline="80" data-id="使用-FFT-來產生波型" data-startline="80" id="使用-FFT-來產生波型" style="background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#%E4%BD%BF%E7%94%A8-FFT-%E4%BE%86%E7%94%A2%E7%94%9F%E6%B3%A2%E5%9E%8B" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="使用-FFT-來產生波型"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1566" data-size="12" style="box-sizing: border-box;">使用 FFT 來產生波型</span></h2><p class="part" data-endline="82" data-position="1579" data-size="0" data-startline="81" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1579" data-size="4" style="box-sizing: border-box;">按下畫筆</span><br style="box-sizing: border-box;" /><span data-position="1584" data-size="23" style="box-sizing: border-box;">編輯 FFT 的地方在畫面的上方,有分上下部份</span></p><p class="part" data-endline="89" data-position="1609" data-size="0" data-startline="84" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1609" data-size="18" style="box-sizing: border-box;">上面的是控制泛音 都是 Sign 波</span><br style="box-sizing: border-box;" /><span data-position="1628" data-size="9" style="box-sizing: border-box;">Bin 1: 基音</span><br style="box-sizing: border-box;" /><span data-position="1638" data-size="11" style="box-sizing: border-box;">Bin 2: 兩倍泛音</span><br style="box-sizing: border-box;" /><img alt="" data-position="1650" data-size="36" src="https://i.imgur.com/vTM5YMH.jpg" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /><br style="box-sizing: border-box;" /><span data-position="1687" data-size="13" style="box-sizing: border-box;">Bin 16: 十六倍泛音</span><br style="box-sizing: border-box;" /><img alt="" data-position="1701" data-size="36" src="https://i.imgur.com/nB7vYod.jpg" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part" data-endline="93" data-position="1739" data-size="0" data-startline="91" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1739" data-size="7" style="box-sizing: border-box;">下面的是畫相位</span><br style="box-sizing: border-box;" /><span data-position="1747" data-size="25" style="box-sizing: border-box;">相位 0 度 = 360 度,所以全畫 = 沒有畫</span><br style="box-sizing: border-box;" /><img alt="" data-position="1773" data-size="36" src="https://i.imgur.com/mRROE8R.jpg" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part" data-endline="96" data-position="1811" data-size="0" data-startline="95" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="1811" data-size="13" style="box-sizing: border-box;">相位 180 度 = 顛倒</span><br style="box-sizing: border-box;" /><img alt="" data-position="1825" data-size="36" src="https://i.imgur.com/oBdLHt9.jpg" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><div class="alert alert-info part" data-endline="100" data-position="1863" data-size="67" data-startline="98" style="background-color: #d9edf7; border-radius: 4px; border: 1px solid rgb(188, 232, 241); box-sizing: border-box; color: #31708f; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 20px; padding: 15px;"><p data-position="1871" data-size="0" style="box-sizing: border-box; margin: 0px;"><span data-position="1871" data-size="5" style="box-sizing: border-box;">Note:</span><br style="box-sizing: border-box;" /><span data-position="1877" data-size="49" style="box-sizing: border-box;">無論 Sample 目前切成幾格,都可以透過畫面中 Morph 功能把波型切成 256 格立體形狀</span></p></div><h2 class="part" data-endline="103" data-id="輸入函數取得波形" data-startline="103" id="輸入函數取得波形" style="background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#%E8%BC%B8%E5%85%A5%E5%87%BD%E6%95%B8%E5%8F%96%E5%BE%97%E6%B3%A2%E5%BD%A2" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="輸入函數取得波形"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="1935" data-size="8" style="box-sizing: border-box;">輸入函數取得波形</span></h2><p class="part" data-endline="104" data-position="1944" data-size="0" data-startline="104" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><img alt="" data-position="1944" data-size="36" src="https://i.imgur.com/bpu3P6j.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part" data-endline="106" data-position="1982" data-size="0" data-startline="106" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><img alt="" data-position="1982" data-size="36" src="https://i.imgur.com/PJ5uPHX.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h2 class="part" data-endline="108" data-id="Filter" data-startline="108" id="Filter" style="background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#Filter" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Filter"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="2023" data-size="6" style="box-sizing: border-box;">Filter</span></h2><p class="part" data-endline="112" data-position="2030" data-size="0" data-startline="109" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2030" data-size="12" style="box-sizing: border-box;">L = Low Pass</span><br style="box-sizing: border-box;" /><span data-position="2043" data-size="13" style="box-sizing: border-box;">H = High Pass</span><br style="box-sizing: border-box;" /><span data-position="2057" data-size="8" style="box-sizing: border-box;">P = Peak</span><br style="box-sizing: border-box;" /><span data-position="2066" data-size="9" style="box-sizing: border-box;">N = Notch</span></p><p class="part" data-endline="116" data-position="2078" data-size="0" data-startline="114" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2078" data-size="24" style="box-sizing: border-box;">LH: Low Pass + High Pass</span><br style="box-sizing: border-box;" /><span data-position="2103" data-size="19" style="box-sizing: border-box;">LP: Low pass + Peak</span><br style="box-sizing: border-box;" /><img alt="" data-position="2123" data-size="36" src="https://i.imgur.com/BbuRgLt.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part" data-endline="119" data-position="2161" data-size="0" data-startline="118" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2161" data-size="25" style="box-sizing: border-box;">模擬產生人聲 --> Formant Filter</span><br style="box-sizing: border-box;" /><img alt="" data-position="2187" data-size="36" src="https://i.imgur.com/orEqfiA.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h2 class="part" data-endline="121" data-id="Modulation-調變" data-startline="121" id="Modulation-調變" style="background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#Modulation-%E8%AA%BF%E8%AE%8A" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Modulation-調變"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="2228" data-size="13" style="box-sizing: border-box;">Modulation 調變</span></h2><p class="part" data-endline="122" data-position="2242" data-size="0" data-startline="122" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2242" data-size="4" style="box-sizing: border-box;">幫聲音"</span><span data-position="2246" data-size="0" style="box-sizing: border-box; font-weight: 700;">調味</span><span data-position="2252" data-size="1" style="box-sizing: border-box;">"</span></p><h3 class="part" data-endline="124" data-id="Serum-的-Modulator-調變器-有以下幾種" data-startline="124" id="Serum-的-Modulator-調變器-有以下幾種" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#Serum-%E7%9A%84-Modulator-%E8%AA%BF%E8%AE%8A%E5%99%A8-%E6%9C%89%E4%BB%A5%E4%B8%8B%E5%B9%BE%E7%A8%AE" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Serum-的-Modulator-調變器-有以下幾種"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="2259" data-size="29" style="box-sizing: border-box;">Serum 的 Modulator (調變器) 有以下幾種</span></h3><ol class="part" data-endline="128" data-position="2289" data-size="0" data-startline="125" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="125" data-position="2292" data-size="0" data-startline="125" style="box-sizing: border-box;"><span data-position="2292" data-size="14" style="box-sizing: border-box;">Envelope 封包 包絡</span></li><li data-endline="126" data-position="2310" data-size="0" data-startline="126" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="2310" data-size="34" style="box-sizing: border-box;">LFO Low Frequency Oscillator 低頻振盪器</span></li><li data-endline="128" data-position="2348" data-size="0" data-startline="127" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="2348" data-size="16" style="box-sizing: border-box;">Chaos LFO 亂數 LFO</span></li></ol><h3 class="part" data-endline="129" data-id="調變得要件" data-startline="129" id="調變得要件" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#%E8%AA%BF%E8%AE%8A%E5%BE%97%E8%A6%81%E4%BB%B6" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="調變得要件"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="2370" data-size="5" style="box-sizing: border-box;">調變得要件</span></h3><ol class="part" data-endline="134" data-position="2376" data-size="0" data-startline="130" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="130" data-position="2379" data-size="0" data-startline="130" style="box-sizing: border-box;"><span data-position="2379" data-size="17" style="box-sizing: border-box;">Source 用哪一台調變器來調變</span></li><li data-endline="131" data-position="2400" data-size="0" data-startline="131" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="2400" data-size="28" style="box-sizing: border-box;">Target/Destination: 被調變的參數是誰</span></li><li data-endline="132" data-position="2432" data-size="0" data-startline="132" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="2432" data-size="15" style="box-sizing: border-box;">Amount: 控制調變的大小</span></li><li data-endline="134" data-position="2451" data-size="0" data-startline="133" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="2451" data-size="25" style="box-sizing: border-box;">Via: Source透過其他參數來控制調變的大小</span></li></ol><h3 class="part" data-endline="135" data-id="Envlope-封包包絡" data-startline="135" id="Envlope-封包包絡" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#Envlope-%E5%B0%81%E5%8C%85%E5%8C%85%E7%B5%A1" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Envlope-封包包絡"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="2482" data-size="15" style="box-sizing: border-box;">Envlope (封包/包絡)</span></h3><ul class="part" data-endline="139" data-startline="136" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="136" data-position="2500" data-size="0" data-startline="136" style="box-sizing: border-box;"><span data-position="2500" data-size="43" style="box-sizing: border-box;">Amplitude/Amplifier Envlope: 決定震幅(音量)和時間的關係</span></li><li data-endline="139" data-position="2546" data-size="0" data-startline="137" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="2546" data-size="27" style="box-sizing: border-box;">Modulation Envlope: 決定各個參數的</span><mark style="background: rgb(255, 241, 167); box-sizing: border-box; padding: 0.2em;"><span data-position="2575" data-size="4" style="box-sizing: border-box;">移動走向</span></mark><span data-position="2581" data-size="6" style="box-sizing: border-box;">和時間的關係</span></li></ul><p class="part" data-endline="140" data-position="2590" data-size="0" data-startline="140" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><img alt="" data-position="2590" data-size="101" src="https://theproaudiofiles.com/wp-content/uploads/2017/07/Screen-Shot-2017-07-05-at-3.50.34-PM.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h3 class="part" data-endline="141" data-id="Envlope-的-四大參數" data-startline="141" id="Envlope-的-四大參數" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#Envlope-%E7%9A%84-%E5%9B%9B%E5%A4%A7%E5%8F%83%E6%95%B8" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Envlope-的-四大參數"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="2696" data-size="10" style="box-sizing: border-box;">Envlope 的 </span><span data-position="2706" data-size="0" style="box-sizing: border-box;">四大參數</span></h3><ul class="part" data-endline="146" data-startline="142" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="142" data-position="2717" data-size="0" data-startline="142" style="box-sizing: border-box;"><span data-position="2717" data-size="3" style="box-sizing: border-box;">A: </span><span data-position="2720" data-size="0" style="box-sizing: border-box; font-weight: 700;">Attack</span><span data-position="2730" data-size="1" style="box-sizing: border-box;"> </span><span data-position="2731" data-size="0" style="box-sizing: border-box; font-weight: 700;">按下琴鍵</span><span data-position="2739" data-size="17" style="box-sizing: border-box;">,聲音從沒聲音到最高音量的時間參數</span></li><li data-endline="143" data-position="2759" data-size="0" data-startline="143" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="2759" data-size="3" style="box-sizing: border-box;">D: </span><span data-position="2762" data-size="0" style="box-sizing: border-box; font-weight: 700;">Decay</span><span data-position="2771" data-size="28" style="box-sizing: border-box;"> 從最高音量衰減到 Sustain Level 的時間差</span></li><li data-endline="144" data-position="2803" data-size="0" data-startline="144" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="2803" data-size="3" style="box-sizing: border-box;">S: </span><span data-position="2806" data-size="0" style="box-sizing: border-box; font-weight: 700;">Sustain</span><span data-position="2817" data-size="11" style="box-sizing: border-box;"> 持續被驅動的情況下,</span><span data-position="2828" data-size="0" style="box-sizing: border-box; font-weight: 700;">維持的音量</span></li><li data-endline="146" data-position="2840" data-size="0" data-startline="145" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="2840" data-size="3" style="box-sizing: border-box;">R: </span><span data-position="2843" data-size="0" style="box-sizing: border-box; font-weight: 700;">Release</span><span data-position="2854" data-size="1" style="box-sizing: border-box;"> </span><span data-position="2855" data-size="0" style="box-sizing: border-box; font-weight: 700;">放開琴鍵時</span><span data-position="2864" data-size="26" style="box-sizing: border-box;">,音量從 Sustain Level 至釋音的時間差</span></li></ul><p class="part" data-endline="150" data-position="2892" data-size="0" data-startline="147" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="2892" data-size="18" style="box-sizing: border-box;">Hold: 控制最大值音量要維持多久</span><br style="box-sizing: border-box;" /><span data-position="2911" data-size="11" style="box-sizing: border-box;">ENV1 針對音量調變</span><br style="box-sizing: border-box;" /><span data-position="2923" data-size="19" style="box-sizing: border-box;">ENV2, ENV3 自定想要調整什麼</span><br style="box-sizing: border-box;" /><img alt="" data-position="2943" data-size="36" src="https://i.imgur.com/gK2WcEw.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h4 class="part" data-endline="152" data-id="Bass-音色調變策略-純打開-Decay,增添動態" data-startline="152" id="Bass-音色調變策略-純打開-Decay,增添動態" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#Bass-%E9%9F%B3%E8%89%B2%E8%AA%BF%E8%AE%8A%E7%AD%96%E7%95%A5-%E7%B4%94%E6%89%93%E9%96%8B-Decay%EF%BC%8C%E5%A2%9E%E6%B7%BB%E5%8B%95%E6%85%8B" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Bass-音色調變策略-純打開-Decay,增添動態"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="2986" data-size="27" style="box-sizing: border-box;">Bass 音色調變策略: 純打開 Decay,增添動態</span></h4><h4 class="part" data-endline="153" data-id="Lead-音色調變策略-使用少量-Attack,Decay,Sustain-讓波型進入的時候有強力的-Atteck-展現-Punch,然後迅速-Decay-到差不多-50-音量的-Sustain-維持" data-startline="153" id="Lead-音色調變策略-使用少量-Attack,Decay,Sustain-讓波型進入的時候有強力的-Atteck-展現-Punch,然後迅速-Decay-到差不多-50-音量的-Sustain-維持" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#Lead-%E9%9F%B3%E8%89%B2%E8%AA%BF%E8%AE%8A%E7%AD%96%E7%95%A5-%E4%BD%BF%E7%94%A8%E5%B0%91%E9%87%8F-Attack%EF%BC%8CDecay%EF%BC%8CSustain-%E8%AE%93%E6%B3%A2%E5%9E%8B%E9%80%B2%E5%85%A5%E7%9A%84%E6%99%82%E5%80%99%E6%9C%89%E5%BC%B7%E5%8A%9B%E7%9A%84-Atteck-%E5%B1%95%E7%8F%BE-Punch%EF%BC%8C%E7%84%B6%E5%BE%8C%E8%BF%85%E9%80%9F-Decay-%E5%88%B0%E5%B7%AE%E4%B8%8D%E5%A4%9A-50-%E9%9F%B3%E9%87%8F%E7%9A%84-Sustain-%E7%B6%AD%E6%8C%81" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Lead-音色調變策略-使用少量-Attack,Decay,Sustain-讓波型進入的時候有強力的-Atteck-展現-Punch,然後迅速-Decay-到差不多-50-音量的-Sustain-維持"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="3019" data-size="102" style="box-sizing: border-box;">Lead 音色調變策略: 使用少量 Attack,Decay,Sustain 讓波型進入的時候有強力的 Atteck 展現 Punch,然後迅速 Decay 到差不多 50% 音量的 Sustain 維持</span></h4><p class="part" data-endline="158" data-position="3123" data-size="0" data-startline="155" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="3123" data-size="4" style="box-sizing: border-box;">歌曲分享</span><br style="box-sizing: border-box;" /><span data-position="3128" data-size="27" style="box-sizing: border-box;">Disorder - Douglas & Remane</span><br style="box-sizing: border-box;" /><a href="https://www.youtube.com/watch?v=S9-nNjSEqB4" rel="noopener" style="background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration-line: none;" target="_blank">https://www.youtube.com/watch?v=S9-nNjSEqB4</a><br style="box-sizing: border-box;" /><span data-position="3200" data-size="11" style="box-sizing: border-box;">中間有 Pad 的音色</span></p><h4 class="part" data-endline="159" data-id="Pad-音色的調整策略-A-開大,R-開大" data-startline="159" id="Pad-音色的調整策略-A-開大,R-開大" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#Pad-%E9%9F%B3%E8%89%B2%E7%9A%84%E8%AA%BF%E6%95%B4%E7%AD%96%E7%95%A5-A-%E9%96%8B%E5%A4%A7%EF%BC%8CR-%E9%96%8B%E5%A4%A7" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="Pad-音色的調整策略-A-開大,R-開大"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="3217" data-size="22" style="box-sizing: border-box;">Pad 音色的調整策略: A 開大,R 開大</span></h4><h3 class="part" data-endline="161" data-id="使用-ENV2-來自定義想要調變的參數" data-startline="161" id="使用-ENV2-來自定義想要調變的參數" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#%E4%BD%BF%E7%94%A8-ENV2-%E4%BE%86%E8%87%AA%E5%AE%9A%E7%BE%A9%E6%83%B3%E8%A6%81%E8%AA%BF%E8%AE%8A%E7%9A%84%E5%8F%83%E6%95%B8" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="使用-ENV2-來自定義想要調變的參數"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="3245" data-size="19" style="box-sizing: border-box;">使用 ENV2 來自定義想要調變的參數</span></h3><ol class="part" data-endline="170" data-position="3265" data-size="0" data-startline="162" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="166" data-position="3268" data-size="0" data-startline="162" style="box-sizing: border-box;"><p data-position="3265" data-size="0" style="box-sizing: border-box; margin: 16px 0px;"><span data-position="3268" data-size="22" style="box-sizing: border-box;">利用 ENV2 透過 ADSR 參數調整音高</span><br style="box-sizing: border-box;" /><img alt="" data-position="3291" data-size="36" src="https://i.imgur.com/gc2kAst.jpg" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /><br style="box-sizing: border-box;" /><span data-position="3328" data-size="25" style="box-sizing: border-box;">滑鼠按住ENV2 拖曳到 OSC 的 CRS 上面</span><br style="box-sizing: border-box;" /><img alt="" data-position="3354" data-size="36" src="https://i.imgur.com/d829UA6.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p></li><li data-endline="170" data-position="3395" data-size="0" data-startline="167" style="box-sizing: border-box; padding-top: 0.25em;"><p data-position="3392" data-size="0" style="box-sizing: border-box; margin: 16px 0px;"><span data-position="3395" data-size="27" style="box-sizing: border-box;">利用 ENV2 透過 ADSR 參數控制 Filter</span><br style="box-sizing: border-box;" /><span data-position="3423" data-size="15" style="box-sizing: border-box;">拖曳到 Cut off 參數上</span><br style="box-sizing: border-box;" /><img alt="" data-position="3439" data-size="36" src="https://i.imgur.com/ZBThiXm.jpg" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p></li></ol><h2 class="part" data-endline="171" data-id="LFO-TOOL" data-startline="171" id="LFO-TOOL" style="background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#LFO-TOOL" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="LFO-TOOL"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="3480" data-size="8" style="box-sizing: border-box;">LFO TOOL</span></h2><h3 class="part" data-endline="173" data-id="使用-LFO-Tool-自己畫-ADSR-四大參數" data-startline="173" id="使用-LFO-Tool-自己畫-ADSR-四大參數" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#%E4%BD%BF%E7%94%A8-LFO-Tool-%E8%87%AA%E5%B7%B1%E7%95%AB-ADSR-%E5%9B%9B%E5%A4%A7%E5%8F%83%E6%95%B8" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="使用-LFO-Tool-自己畫-ADSR-四大參數"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="3494" data-size="25" style="box-sizing: border-box;">使用 LFO Tool 自己畫 ADSR 四大參數</span></h3><p class="part" data-endline="175" data-position="3520" data-size="0" data-startline="174" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="3520" data-size="18" style="box-sizing: border-box;">可以在 LFO 上面自己畫 ADSR</span><br style="box-sizing: border-box;" /><img alt="" data-position="3539" data-size="36" src="https://i.imgur.com/eeDroNG.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part" data-endline="179" data-position="3577" data-size="0" data-startline="177" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="3577" data-size="18" style="box-sizing: border-box;">LFO 的波型可以拿來產生頻率與質地</span><br style="box-sizing: border-box;" /><span data-position="3596" data-size="7" style="box-sizing: border-box;">質地: 畫波型</span><br style="box-sizing: border-box;" /><span data-position="3604" data-size="13" style="box-sizing: border-box;">頻率:控制 Rate 參數</span></p><h3 class="part" data-endline="180" data-id="LFO-控制音高" data-startline="180" id="LFO-控制音高" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#LFO-%E6%8E%A7%E5%88%B6%E9%9F%B3%E9%AB%98" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="LFO-控制音高"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="3624" data-size="8" style="box-sizing: border-box;">LFO 控制音高</span></h3><p class="part" data-endline="182" data-position="3633" data-size="0" data-startline="181" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="3633" data-size="22" style="box-sizing: border-box;">同樣做法,拖曳到 OSC 裡面的 CRS 上</span><br style="box-sizing: border-box;" /><img alt="" data-position="3656" data-size="36" src="https://i.imgur.com/zKM51J5.jpg" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part" data-endline="186" data-position="3694" data-size="0" data-startline="184" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="3694" data-size="14" style="box-sizing: border-box;">LFO 跟 ENV 的差別:</span><br style="box-sizing: border-box;" /><span data-position="3709" data-size="24" style="box-sizing: border-box;">Env 鍵盤按下去一次,跑完 ADSR 就結束了</span><br style="box-sizing: border-box;" /><span data-position="3734" data-size="40" style="box-sizing: border-box;">LFO 按下去持續按著,會連續一直反覆做調變,(依照 Rate 設定的速度來做)</span></p><h3 class="part" data-endline="188" data-id="LFO-的-RISE-參數" data-startline="188" id="LFO-的-RISE-參數" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#LFO-%E7%9A%84-RISE-%E5%8F%83%E6%95%B8" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="LFO-的-RISE-參數"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="3780" data-size="13" style="box-sizing: border-box;">LFO 的 RISE 參數</span></h3><p class="part" data-endline="189" data-position="3794" data-size="0" data-startline="189" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="3794" data-size="17" style="box-sizing: border-box;">可以理解成 Fade In 的功能</span></p><h3 class="part" data-endline="191" data-id="LFO-的-DELAY-參數" data-startline="191" id="LFO-的-DELAY-參數" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#LFO-%E7%9A%84-DELAY-%E5%8F%83%E6%95%B8" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="LFO-的-DELAY-參數"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="3817" data-size="14" style="box-sizing: border-box;">LFO 的 DELAY 參數</span></h3><p class="part" data-endline="192" data-position="3832" data-size="0" data-startline="192" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="3832" data-size="28" style="box-sizing: border-box;">控制按下鍵盤時,經過多少小節才開始跑 LFO 的調變設定</span></p><div class="alert alert-info part" data-endline="195" data-position="3861" data-size="90" data-startline="193" style="background-color: #d9edf7; border-radius: 4px; border: 1px solid rgb(188, 232, 241); box-sizing: border-box; color: #31708f; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 20px; padding: 15px;"><p data-position="3869" data-size="0" style="box-sizing: border-box; margin: 0px;"><span data-position="3869" data-size="40" style="box-sizing: border-box;">LFO1, LFO2, LFO3 如果都有設定參數的話,鍵盤按下去時,會同時跑</span><br style="box-sizing: border-box;" /><span data-position="3910" data-size="37" style="box-sizing: border-box;">如果想要讓他們不同時間觸發的話,可以透過分別設定 DELAY 參數來實現!</span></p></div><h3 class="part" data-endline="198" data-id="LFO-的相位設定" data-startline="198" id="LFO-的相位設定" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#LFO-%E7%9A%84%E7%9B%B8%E4%BD%8D%E8%A8%AD%E5%AE%9A" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="LFO-的相位設定"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="3957" data-size="9" style="box-sizing: border-box;">LFO 的相位設定</span></h3><p class="part" data-endline="199" data-position="3967" data-size="0" data-startline="199" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><img alt="" data-position="3967" data-size="36" src="https://i.imgur.com/l1w4q53.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><ul class="part" data-endline="203" data-startline="200" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="200" data-position="4006" data-size="0" data-startline="200" style="box-sizing: border-box;"><span data-position="4006" data-size="57" style="box-sizing: border-box;">OFF : 每按下 Keyboard 時,不一定從頭開始跑波型,因為會從不同相位開始 (波形的任何一個位置開始跑)</span></li><li data-endline="201" data-position="4066" data-size="0" data-startline="201" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="4066" data-size="37" style="box-sizing: border-box;">TRIG 模式:trigger 模式,每一次按下去,都會從頭開始跑,循環跑</span></li><li data-endline="203" data-position="4107" data-size="0" data-startline="202" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="4107" data-size="41" style="box-sizing: border-box;">ENV 模式:模仿 Envlope,按下去跑完一次 ADSR 參數後,就停在最後面</span></li></ul><h3 class="part" data-endline="204" data-id="LFO-Rate-參數之節拍設定" data-startline="204" id="LFO-Rate-參數之節拍設定" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#LFO-Rate-%E5%8F%83%E6%95%B8%E4%B9%8B%E7%AF%80%E6%8B%8D%E8%A8%AD%E5%AE%9A" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="LFO-Rate-參數之節拍設定"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="4154" data-size="16" style="box-sizing: border-box;">LFO Rate 參數之節拍設定</span></h3><p class="part" data-endline="207" data-position="4171" data-size="0" data-startline="205" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><img alt="" data-position="4171" data-size="36" src="https://i.imgur.com/aMGrN3L.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /><br style="box-sizing: border-box;" /><span data-position="4208" data-size="24" style="box-sizing: border-box;">TRIP 打開:以三連音演奏 (triplet)</span><br style="box-sizing: border-box;" /><span data-position="4233" data-size="11" style="box-sizing: border-box;">DOT 打開:附點節奏</span></p><h3 class="part" data-endline="209" data-id="LFO-的-SMOOTH-參數" data-startline="209" id="LFO-的-SMOOTH-參數" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#LFO-%E7%9A%84-SMOOTH-%E5%8F%83%E6%95%B8" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="LFO-的-SMOOTH-參數"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="4250" data-size="15" style="box-sizing: border-box;">LFO 的 SMOOTH 參數</span></h3><p class="part" data-endline="210" data-position="4266" data-size="0" data-startline="210" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="4266" data-size="21" style="box-sizing: border-box;">可以理解成 Dry/Wet 有效果/沒效果</span></p><h3 class="part" data-endline="212" data-id="LFO-的波型可在這裡選" data-startline="212" id="LFO-的波型可在這裡選" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#LFO-%E7%9A%84%E6%B3%A2%E5%9E%8B%E5%8F%AF%E5%9C%A8%E9%80%99%E8%A3%A1%E9%81%B8" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="LFO-的波型可在這裡選"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="4293" data-size="12" style="box-sizing: border-box;">LFO 的波型可在這裡選</span></h3><p class="part" data-endline="213" data-position="4306" data-size="0" data-startline="213" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><img alt="" data-position="4306" data-size="36" src="https://i.imgur.com/0Mdshux.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h3 class="part" data-endline="216" data-id="使用-LFO-模擬-Stepper" data-startline="216" id="使用-LFO-模擬-Stepper" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#%E4%BD%BF%E7%94%A8-LFO-%E6%A8%A1%E6%93%AC-Stepper" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="使用-LFO-模擬-Stepper"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="4349" data-size="17" style="box-sizing: border-box;">使用 LFO 模擬 Stepper</span></h3><p class="part" data-endline="221" data-position="4367" data-size="0" data-startline="217" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="4367" data-size="21" style="box-sizing: border-box;">按住 shift 鍵,去畫 LFO 的波型</span><br style="box-sizing: border-box;" /><img alt="" data-position="4389" data-size="36" src="https://i.imgur.com/4sHyktq.jpg" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /><br style="box-sizing: border-box;" /><span data-position="4426" data-size="40" style="box-sizing: border-box;">然後設定 LFO 拖曳去控制 OSC 上的音高,即可完成 Stepper 的功能</span><br style="box-sizing: border-box;" /><span data-position="4468" data-size="18" style="box-sizing: border-box;">p.s. 格子的數量最多可以到 16</span><br style="box-sizing: border-box;" /><img alt="" data-position="4487" data-size="36" src="https://i.imgur.com/5vW9icS.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part" data-endline="228" data-position="4525" data-size="0" data-startline="223" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="4525" data-size="6" style="box-sizing: border-box;">其他選項解說</span><br style="box-sizing: border-box;" /><span data-position="4532" data-size="21" style="box-sizing: border-box;">Flat 就是上面的 Stepper 模式</span><br style="box-sizing: border-box;" /><img alt="" data-position="4554" data-size="36" src="https://i.imgur.com/izk1Dao.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /><br style="box-sizing: border-box;" /><span data-position="4591" data-size="27" style="box-sizing: border-box;">選 Ramp Up 或是 Ramp Down 來玩玩看</span><br style="box-sizing: border-box;" /><span data-position="4619" data-size="5" style="box-sizing: border-box;">變成這樣了</span><br style="box-sizing: border-box;" /><img alt="" data-position="4625" data-size="36" src="https://i.imgur.com/BfiBpP3.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h3 class="part" data-endline="230" data-id="使用-Chaos-LFO" data-startline="230" id="使用-Chaos-LFO" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 1.25em; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#%E4%BD%BF%E7%94%A8-Chaos-LFO" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="使用-Chaos-LFO"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="4667" data-size="12" style="box-sizing: border-box;">使用 Chaos LFO</span></h3><p class="part" data-endline="232" data-position="4680" data-size="0" data-startline="231" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="4680" data-size="20" style="box-sizing: border-box;">藏在 Serum 的 Global 裡面</span><br style="box-sizing: border-box;" /><img alt="" data-position="4701" data-size="36" src="https://i.imgur.com/AuJQbn2.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><p class="part" data-endline="236" data-position="4739" data-size="0" data-startline="234" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="4739" data-size="16" style="box-sizing: border-box;">可以透過 MATRIX 裡面加入</span><br style="box-sizing: border-box;" /><span data-position="4756" data-size="26" style="box-sizing: border-box;">MATRIX 裡面館 Modulator 的使用紀錄</span><br style="box-sizing: border-box;" /><img alt="" data-position="4783" data-size="36" src="https://i.imgur.com/pEVRhXA.jpg" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h2 class="part" data-endline="239" data-id="聲音設計的規則" data-startline="239" id="聲音設計的規則" style="background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#%E8%81%B2%E9%9F%B3%E8%A8%AD%E8%A8%88%E7%9A%84%E8%A6%8F%E5%89%87" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="聲音設計的規則"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="4825" data-size="7" style="box-sizing: border-box;">聲音設計的規則</span></h2><h4 class="part" data-endline="240" data-id="『時間和動態的關係』-時間和變化的關係" data-startline="240" id="『時間和動態的關係』-時間和變化的關係" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#%E3%80%8E%E6%99%82%E9%96%93%E5%92%8C%E5%8B%95%E6%85%8B%E7%9A%84%E9%97%9C%E4%BF%82%E3%80%8F-%E6%99%82%E9%96%93%E5%92%8C%E8%AE%8A%E5%8C%96%E7%9A%84%E9%97%9C%E4%BF%82" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="『時間和動態的關係』-時間和變化的關係"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="4838" data-size="21" style="box-sizing: border-box;">『時間和動態的關係』 (時間和變化的關係)</span></h4><ol class="part" data-endline="248" data-position="4860" data-size="0" data-startline="241" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li data-endline="241" data-position="4863" data-size="0" data-startline="241" style="box-sizing: border-box;"><span data-position="4863" data-size="8" style="box-sizing: border-box;">先想像要什麼聲音</span></li><li data-endline="242" data-position="4875" data-size="0" data-startline="242" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="4875" data-size="26" style="box-sizing: border-box;">找波型 OSC選擇或繪製波型,看需求扭曲(Warp)</span></li><li data-endline="244" data-position="4905" data-size="0" data-startline="243" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="4905" data-size="13" style="box-sizing: border-box;">制定好該音色的『形狀』,即</span><mark style="background: rgb(255, 241, 167); box-sizing: border-box; padding: 0.2em;"><span data-position="4920" data-size="9" style="box-sizing: border-box;">ENVELOPE1</span></mark><span data-position="4931" data-size="7" style="box-sizing: border-box;"> (ENV1)</span><br style="box-sizing: border-box;" /><span data-position="4942" data-size="10" style="box-sizing: border-box;">(音量和時間的關係)</span></li><li data-endline="245" data-position="4957" data-size="0" data-startline="245" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="4957" data-size="6" style="box-sizing: border-box;">Filter</span></li><li data-endline="246" data-position="4968" data-size="0" data-startline="246" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="4968" data-size="33" style="box-sizing: border-box;">Modulation: LFO, Envelope 2&3 …</span></li><li data-endline="248" data-position="5005" data-size="0" data-startline="247" style="box-sizing: border-box; padding-top: 0.25em;"><span data-position="5005" data-size="12" style="box-sizing: border-box;">效果 (Effects)</span></li></ol><p class="part" data-endline="250" data-position="5019" data-size="0" data-startline="249" style="background-color: white; box-sizing: border-box; color: #333333; font-size: 16px; letter-spacing: 0.35px; margin: 0px 0px 16px;"><span data-position="5019" data-size="21" style="box-sizing: border-box;">p.s. OSC 的 Warp 旋鈕在這裡</span><br style="box-sizing: border-box;" /><img alt="" data-position="5041" data-size="36" src="https://i.imgur.com/W8pFkKw.png" style="border: 0px; box-sizing: content-box; max-width: 100%; vertical-align: middle;" /></p><h2 class="part" data-endline="253" data-id="編曲最後的步驟:Mastering" data-startline="253" id="編曲最後的步驟:Mastering" style="background-color: white; border-bottom: 1px solid rgb(238, 238, 238); box-sizing: border-box; color: #333333; letter-spacing: 0.35px; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;"><a class="anchor hidden-xs" href="https://hackmd.io/yDdFkOt4T16XmOiTN21_LQ#%E7%B7%A8%E6%9B%B2%E6%9C%80%E5%BE%8C%E7%9A%84%E6%AD%A5%E9%A9%9F%EF%BC%9AMastering" smoothhashscroll="" style="background-color: transparent; box-sizing: border-box; color: #337ab7; float: left; line-height: 1; margin-left: -20px; padding-right: 4px; text-decoration-line: none;" title="編曲最後的步驟:Mastering"><span class="octicon octicon-link" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: black; display: inline-block; font-family: octicons; font-size: 16px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: normal; line-height: 1; text-rendering: auto; user-select: none; vertical-align: middle; visibility: hidden;"></span></a><span data-position="5083" data-size="17" style="box-sizing: border-box;">編曲最後的步驟:Mastering</span></h2><div class="alert alert-success part" data-endline="256" data-position="5101" data-size="72" data-startline="254" style="background-color: #dff0d8; border-radius: 4px; border: 1px solid rgb(214, 233, 198); box-sizing: border-box; color: #3c763d; font-size: 16px; letter-spacing: 0.35px; margin-bottom: 0px; padding: 15px;"><p data-position="5112" data-size="0" style="box-sizing: border-box; margin: 0px;"><span data-position="5112" data-size="12" style="box-sizing: border-box;">Mastering 做法</span><br style="box-sizing: border-box;" /><span data-position="5125" data-size="44" style="box-sizing: border-box;">最簡單的做法就是在 Output Master Channel 掛上一台 Limiter</span></p></div><p><br /></p><div><h3 style="color: #333333; letter-spacing: 0.35px;">相關文章整理</h3><h3 class="post-title entry-title" style="color: #212121; font-family: roboto, sans-serif; font-size: 22px; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; margin: 0px 0px 8px; max-width: calc(100% - 48px);"></h3><h4><ul><li style="color: #333333; font-size: 16px; letter-spacing: 0.35px;"><a href="http://violin-tao.blogspot.com/2020/08/ableton-live-note-1.html">[筆記] Ableton Live Note 1</a></li><li><a href="http://violin-tao.blogspot.com/2020/08/ableton-live-note-2.html">[筆記] Ableton Live Note 2</a><br /></li><li><a href="http://violin-tao.blogspot.com/2020/08/ableton-live-note-3.html">[筆記] Ableton Live Note 3</a><br /></li><li><a href="http://violin-tao.blogspot.com/2020/08/ableton-live-note-4.html">[筆記] Ableton Live Note 4</a><br /></li><li><a href="http://violin-tao.blogspot.com/2020/08/ableton-live-note-5.html">[筆記] Ableton Live Note 5</a><br /></li><li><a href="http://violin-tao.blogspot.com/2020/08/ableton-live-note-6.html">[筆記] Ableton Live Note 6</a><br /></li><li><a href="http://violin-tao.blogspot.com/2020/08/ableton-live-note-7.html">[筆記] Ableton Live Note 7</a><br /></li><li><a href="http://violin-tao.blogspot.com/2020/08/ableton-live-note-8.html">[筆記] Ableton Live Note 8</a></li></ul></h4><h4><div></div></h4></div><div><br /></div>taohttp://www.blogger.com/profile/09539639842269611502noreply@blogger.com0