暖化導致食物減少 北美160頭灰鯨餓死_如何寫文案

※別再煩惱如何寫文案,掌握八大原則!

什麼是銷售文案服務?A就是幫你撰寫適合的廣告文案。當您需要販售商品、宣傳活動、建立個人品牌,撰寫廣告文案都是必須的工作。

摘錄自2019年7月24日公共電視報導

美國西海岸、墨西哥和加拿大,今年出現大量的灰鯨擱淺死亡,超過160頭,其中光是在華盛頓州,這個月來就有30隻,美國科學家說,這個數量過去40年來前所未見。專家發現這些死亡灰鯨的體型都比較消瘦,解剖結果顯示,這些鯨魚是餓到飢不擇食,甚至活活餓死。

分解鯨魚屍體志工提到「當我們進行分解屍體時,在牠的胃裡發現了鰻魚草,鰻魚草並不是牠的食物,這代表這隻鯨魚飢不擇食,牠會為了活下去吃任何東西,就好像人類會吃草為了活命一樣,牠不能這麼吃,我們也在牠的胃裡發現兩個塑膠袋」。

※教你寫出一流的銷售文案?

銷售文案是什麼?A文案是廣告用的文字。舉凡任何宣傳、行銷、販賣商品時所用到的文字都是文案。在網路時代,文案成為行銷中最重要的宣傳方式,好的文案可節省大量宣傳資源,達成行銷目的。

生物學家卡拉波基迪斯(John Calambokidis)表示:「這些動物的共同點之一是牠們都嚴重營養不良,非常瘦、皮下脂肪非常少,因為灰鯨每年會禁食,我們知道每年這個時期牠們會有點消瘦,不過這些動物去年就沒有儲存足夠的營養,所以牠們在危急時刻跑到牠們無法存活的地方」。

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

擁有後台管理系統的網站,將擁有強大的資料管理與更新功能,幫助您隨時新增網站的內容並節省網站開發的成本。

傳超值款 iPad(第九代)將更薄更輕且依然有指紋辨識,至於 iPad Pro…_如何寫文案

※別再煩惱如何寫文案,掌握八大原則!

什麼是銷售文案服務?A就是幫你撰寫適合的廣告文案。當您需要販售商品、宣傳活動、建立個人品牌,撰寫廣告文案都是必須的工作。

眼看 M1 MacBook 的各種高效率體驗給人越來越「iPad」的感覺。顯然 Apple 對於平板電腦產品的下一步,應該會讓許多人感到相當好奇。現在也有消息指出,洋洋灑灑也來到第九代的入門款 iPad,這次很可能會迎接內外全面進化,但 iPad Pro 似乎就並不會有太多外在的改變。繼續閱讀傳超值款 iPad(第九代)將更薄更輕且依然有指紋辨識報導內文。

▲圖片來源:Apple

傳超值款 iPad(第九代)將更薄更輕且依然有指紋辨識,至於 iPad Pro…

雖然感覺 iPad 系列應該比較難用到 M1 那種桌面級的 SoC,但 CP 值通常很高的入門款蘋果平板電腦產品,倒是不太需要特別去顧及到桌面電腦的效能領域,但依然可以預期達到行動領域標準的高標。根據外媒的資訊,新世代 2021 年入門款 iPad 及高階版 iPad Pro 系列現在也開始有更多資訊流出。

▲圖片來源:MacRumors

現階段看來,雖然 iPad Pro 目前看來應該主要會在升級面板技術至 mini LED,還有比較偏例行性的晶片升級(應該是加強版 A14X?)。不過在新的 iPad(第九代)上面,Apple 似乎準備要來個內外提升。

據報這個入門款平板電腦儘管螢幕將維持在 10.2 吋的大小,但將迎接 P3 的廣色域,且機身會變得更薄更輕 — 相對於前代的 7.5mm 厚與 490g 重,iPad(第九代)謠傳將會來到 6.3mm 的薄度與 460g 的輕量表現。

▲圖片來源:Apple

既然可預期新款 iPad 將多數沿用前一世代 iPad Air 的設計,所以 Apple Pencil、Touch ID 與 Lightning 的連接埠規格基本上也應該也是定番。是說在這大部分時間都得要戴著口罩的時代,相信應該大家都還是蠻歡迎指紋辨識的規格的吧?目前預期新世代 iPad 將會在秋季現身,應該也非常值得期待。

引用來源

延伸閱讀:

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

擁有後台管理系統的網站,將擁有強大的資料管理與更新功能,幫助您隨時新增網站的內容並節省網站開發的成本。

AirPods Pro 推超「牛」限量版,主動式降噪讓你隨時找到專屬自己的空間

Dell 的 CES 新品包括一台 40 吋 5K 超寬曲面螢幕與內建 Windows Hello 視訊鏡頭的螢幕(你懂的)

您也許會喜歡:

【推爆】終身$0月租 打電話只要1元/分

立達合法徵信社-讓您安心的選擇

※教你寫出一流的銷售文案?

銷售文案是什麼?A文案是廣告用的文字。舉凡任何宣傳、行銷、販賣商品時所用到的文字都是文案。在網路時代,文案成為行銷中最重要的宣傳方式,好的文案可節省大量宣傳資源,達成行銷目的。

「MoreThanJava」一文了解二進制和CPU工作原理_如何寫文案

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

擁有後台管理系統的網站,將擁有強大的資料管理與更新功能,幫助您隨時新增網站的內容並節省網站開發的成本。

  • 「MoreThanJava」 宣揚的是 「學習,不止 CODE」,本系列 Java 基礎教程是自己在結合各方面的知識之後,對 Java 基礎的一個總回顧,旨在 「幫助新朋友快速高質量的學習」
  • 當然 不論新老朋友 我相信您都可以 從中獲益。如果覺得 「不錯」 的朋友,歡迎 「關注 + 留言 + 分享」,文末有完整的獲取鏈接,您的支持是我前進的最大的動力!

Part 1. 原來,我們是這樣記數的

本節內容節選自下方 參考資料 1

在討論「二進制」和「CPU 如何工作」之前,我們先來討論一下我們生活中最稀疏平常的 数字,我們與之頻繁地打交道:一個約定的時間、一件商品的價格、一個人的身高….卻很少有人細細想過,這些数字是如何表達出來的?為什麼你理所當然地把 1024 理解為「一千零二十四」而不是別的含義?

也許你從未想過,在這簡單的記數中,沉澱着人類的大智慧。

一進制計數法

  • 圖片來源:https://www.goethe.de/ins/cn/cn/kul/mag/20629923.html

早在数字的概念產生之前,人類就學會了使用樹枝、石子、貝殼等自然界隨處可見的小物件表示獵物的、果實的、部落人口的數量。比如在某個角落堆上一堆石子,每打到 1 只獵物,就扔 1 顆石子進去,每吃掉 2 只獵物,就從中取走 2 顆石子。他們並不在意石子的總數,只是時不時地瞅一眼,心底大致有數。

其實這是一種最樸素的記數方式,數學家稱之為 一進制記數法(unary numeral system)。我們把它符號化一下,比如用斜杠 / 來表示:

  • 1 就是 /
  • 2 就是 //
  • 4 就是 ////

好像沒毛病,我們平時掰手指用的就是這種記數法,但数字一大,場面就要失控了。

符值相加記數法

為了解決記錄大數的問題,於是我們得發明一些其他符號來表示更大的數值,比如用橫杠 - 表示 10,用十字 + 表示 100。那麼:

  • 16 就是 -//////;
  • 32 就是 ---//;
  • 128 就是 +--////////;

漂亮….這種靠符號類型和符號數量表示数字的方法被稱為 符值相加記數法(sign-value notation),古埃及和古羅馬用的都是它,只不過符號各不相同。

古埃及的記數符號:

1 10 100 1000 10000 100000 1000000

1024 在古埃及就寫作:

你會發現,符值相加記數法的一大優點是,符號的順序可以任意打亂,数字含義不受影響。我國藏族曾用石子表示 1、木棍表示 10、果核表示 100、蠶豆表示 1000、瓦片表示 10000,那麼,當你把 1 顆蠶豆、2 根木棍和 4 顆石子胡亂地攥在手裡,別人依然知道它們是 1024

古羅馬的做法略有不同,他們對五進制情有獨鍾:

1 5 10 50 100 500 1000
I V X L C D M

這些符號沿用至今,想必大家(至少對前 3 個)都比較熟悉,許多鐘錶仍保留着使用羅馬数字的習慣,1~12 分別表示為:IIIIIIIVVVIVIIVIIIIXXXIXII。你會發現,羅馬記數法是符值相加記數法的變種,因為它不光「相加」,還「相減」。這種方式就不允許符號亂序了,IVVI 表示的是不同的数字。

那羅馬人何苦要使用這種更複雜的記數法呢?無非是為了讀寫方便。同樣表示 9IXVIIII 更簡潔。

其實有一種更好使的方法——用另外一些列符號來表示符號的數量。比如用 A 表示 1 個符號,用 B 表示 2 個符號,以此類推,用 I 表示 9 個符號。

如此,上文表示 256++-----////// 就可以寫作 B+E-F/。你一定感覺莫名其妙,這種寫法哪裡方便了。其實中文的數字錶示就是這種形式,只不過我們用得太習慣了,以至於沒有發現。

在中文中, 代替了 /-+,而 代替了 ABC256 就寫作 二百五十六個 比較累贅,我們通常把它省略了。

其實像日語、英語用的也同樣是這種記數法,簡潔、優雅。

美中不足的是,這種形式雖便於讀寫,卻不便於計算。中國古人為算籌和算盤這類經典算具搭建起廣闊的舞台,卻沒給筆算留出一席之地。想象一下,如果讓你把這些漢字寫在草稿紙上,列個豎式,你的內心一定非常彆扭。

位值制記數法

公元5世紀,印度數學家阿耶波多(Aryabhata 476–550)創立了現在廣泛使用的 位值制記數法(positional notation/place-value notation),該記數法使用的主要符號,是同為印度人發明的阿拉伯数字:0123456789

與符值相加記數法類比,位值制中的 123 代替的是 ABC,那 /-+ 呢?是 靠阿拉伯数字的位置來表示的。眾所周知,最右位相當於 /,次右位相當於 -靠每個位置上的數值來表示数字,故名位值制。

嚴謹的數學家用一種多項式高度概括了位值制記數法的本質,在十進制中,這個多項式是這樣的:

這是一個 n 位十進制數,ai 就是第 i 位上的數值。為便於直觀理解,舉個 1024 的例子吧:

由於我們熟悉了十進制,這樣費心費力的展開可能會讓你覺得好笑,但當我們把它推廣到其他進制時,這個多項式的價值就體現了出來。n 位 b 進制數的位值製表示:

1024 用二進制怎麼表示?

因此,1024 的二進制寫作 10000000000

除了最普遍的十進制和計算機中的二進制,常見的還有七進制(如 17 天)、十二進制(如 112 個月)、十六進制(如古代 116 兩)、六十進制(如六十甲子)等等,只要有意義,任何進制都可以為你所用。

非標準位值制

在上述的多項式中,如果 ai 或 b 的取值奇葩一點,就形成了 非標準位值制(non-standard positional numeral systems),這類記數法往往應用於專業領域,很難在日常生活中見到。比如標準位值制中的三進制 ai 的取值為 012,但在一種名為平衡三進制(balanced ternary)的非標準位值制中,ai-101,蘇聯曾使用這種進制研發电子計算機。

Part 2. 二進制簡介

  • 圖片來源:https://zhuanlan.zhihu.com/p/26743163

至此,你對「二進制」應該會感覺親切了些,它只是一種數制而已,本質上與我們熟悉的十進制沒有很大的差別,我們這一 Part 來稍微理解一下二進制。(至於電腦為什麼使用二進制我們在下一 Part 中介紹)

二進制的基本運算

十進制中的那些基本運算原則,二進制中同樣適用,只不過需要稍加變幻而已,下面我們分別就加、減、乘、除四則運算來介紹。

二級制加法

根據「逢二進一」規則,二進制數加法的法則為:

0+0=0
0+1=1+0=1
1+1=0 (進位為1) 
1+1+1=1 (進位為1)

例如:11011011 相加過程如下:

二進制數的減法

根據「借一有二」的規則,二進制數減法的法則為:

0-0=0
1-1=0
1-0=1
0-1=1 (借位為1)

例如:1101 減去 1011 的過程如下:

二進制的乘法

二進制數乘法過程可仿照十進制數乘法進行。但由於二進制數只有 01 兩種可能的乘數位,導致二進制乘法更為簡單。二進制數乘法的法則為:

0×0=0
0×1=1×0=0
1×1=1

例如:10011010 相乘的過程如下:

二進制的除法

二進制數除法與十進制數除法很類似。

例如:100110 ÷ 110 的過程如下:

二進製為什麼能表示所有的數據

因為編碼規定。

之前我們有說到,所有保存的程序和數據在計算機中都被描述為 文件,也就是說我們能夠知道當前的數據集合被期望的用途是什麼,也就能夠找到對應的 處理器 來正確處理當前的數據。

例如保存文字

拿文字舉例,為了讓一串 01 能夠代表特定的文字,人們規定使用一個字節中的七位來表達特定的文字, 這就是大名鼎鼎 ASCII (American Standard Code for Information Interchange) 碼,ASCll 碼能夠表達 27=128 種字符(編碼從 0~127),對於 26 個英文字母和一些常用的可打印字符,這完全足夠了:

可是,世界文化是多元的,面對類似漢字這樣的象形文字,ASCll碼錶用起來自然是捉襟見肘。

窮則思變,一個字節不行,那就兩個字節,這就是大名鼎鼎的 Unicode 碼,不難看出,Unicode 碼有 216=65536 種表示方式,這樣就足以表達一些常用的字符了,值得一提的是,Unicode 碼算是在 ASCll 碼上的一種擴充,其第 0~127 個編碼字符與 ASCll 碼錶一模一樣。

再比如圖片

這裏涉及一點點物理知識,話說很久以前,牛頓通過三稜鏡把白色的光分解成七種不同顏色的光,後來又通過各種實驗發現紅、綠、藍三種顏色的光是無法被分解的,因此我們就稱為紅藍綠為光的三原色。

至此人類已經知道了:可以通過組合不同比例的紅、綠、藍三種顏色來獲得各種各樣的顏色,那麼我們就可以在計算機上模擬了。現在的計算機,一般使用 32 位來表示顏色,32 位平分給四個分量,也就是每個分量 8 位。

為啥是四個顏色分量?

因為顏色模型中有一個 alpha 值,用來表示透明度,這一點我們先不考慮。總之三種顏色,每個使用 8 位來表示的話,我們就能夠表示 256 * 256 * 256 = 16777216 種顏色了,已經足夠基礎的使用了。

先來看一張圖片:

這張圖像的尺寸是 600px * 664px(px 是一種圖片單位,中文名稱為像素,你可以暫時理解為一個點)。我們把它放大一下,如下圖所示:

※教你寫出一流的銷售文案?

銷售文案是什麼?A文案是廣告用的文字。舉凡任何宣傳、行銷、販賣商品時所用到的文字都是文案。在網路時代,文案成為行銷中最重要的宣傳方式,好的文案可節省大量宣傳資源,達成行銷目的。

看見了嗎?實際上,大部分圖像(你拍攝的照片、你掃描的圖片、你使用 iPad 畫的圖片等等…)都是位圖文件,位圖就是由像素點構成的,它就像是一個網格一樣,每個格子裏面填一個顏色。(除了位圖外,還有一種圖是矢量圖,它描述的是形狀而非網格)

OK,我想你已經能理解圖像是由像素點組成的了(事實上我們的显示器也是),我們只需要在編碼中附帶上一些額外的信息,例如圖像有多大的尺寸、時間、作者、顏色深度、是否支持透明度之類的就能夠對圖像進行正確表示了。(視頻可以簡單理解成一張張連續不斷的圖片)

要讓显示器正確显示圖片或者視頻,只需要讓显示器上每個像素显示特定的顏色就好了。

  • 圖片來源:https://www.bbc.co.uk/bitesize/topics/zf2f9j6/articles/z2tgr82

Part 3. 為什麼是二進制?

  • 圖片來源:https://zhuanlan.zhihu.com/p/33439000

可為什麼一定是二進制呢?使用人類習慣的十進制不好嗎?

理由一:物理上易於實現

計算機依靠電力工作,這也就意味着需要將数字信號映射到電信號,實現這種映射最簡單的方法是:

  • 0 – 沒有電(0 V)
  • 1 – 有點(5 V)

二進制在技術上最容易實現。這是因為具有兩種 穩定狀態 的物理器件很多,如門電路的導通與截止、電壓的高與低等,而它們恰好可以對應表示 “1” 和 “0” 這兩個數碼。假如採用十進制,那麼就要製造具有 10穩定狀態 的物理電路,而這是非常困難的。

理由二:機器可靠性高

為什麼使用更複雜的数字系統是一個問題?

假設我們使用三元(3 位数字)数字系統涉及計算機,如果我們具有從 0 V5 V 的電壓,那麼我們可以進行以下的映射:

  • 0 – 0 V;
  • 1 – 2.5 V;
  • 2 – 5 V;
  • 圖片來源:https://pmihaylov.com/intro-binary-numbers/

看起來合理吧?但是,想象一下,我以 2.5 V 的電壓發送了一個数字。但是由於電路中的一些噪聲,我在輸出端得到 2.3 V 的電壓,因此將其視為 0。結果是?

有人給我發送了 1,但我將其視為 0。數據丟失可是一個非常嚴重的問題。

使用二進制則可靠得多,由於電壓的高和低、電流的有和無等都是一種 質的變化,兩種物理狀態穩定、分明,因此,二進制碼傳輸的抗干擾能力強,鑒別信息的可靠性高。

為什麼計算機系統必須有時鐘

  • 圖片來源:http://programmedlessons.org/Java9/chap02/ch02_11.html

建立数字系統的目的是 僅在某些時間點測試開/關(二進制)值,這使電線(或其他設備)有時間更換。這就是計算機系統有時鐘的原因。

時鐘會周期性地進行信號的測量,圖中所示的 T1 和 T2 就是可以測量信號的時間點。

時鐘利用所有這些時間點來保持同步。更快的時鐘意味着每秒可以對電線進行更多次測試,並且整個系統運行得更快。2 GHz 處理器每秒檢查二進制值 20 億次。在這些時間之間,允許值改變並穩定下來。處理器芯片速度越快,每秒可以測試的次數就越多,每秒可以做出的決策就越多。

理由三:運算規則簡單

數學推導已經證明,對 N 進制數進行算術求和或求積運算,其運算規則各有 N(N+1)/2 種。如採用十進制,則 N=10,就有 55 種求和或求積的運算規則;而採用二進制,則 N=2,僅有 3 種求和或求積的運算規則,以上面提到的加法為例:

0+0=0,0+1=1 (1+0=1),1+1=10

因而可以大大簡化運算器等物理器件的設計。

理由四:邏輯判斷方便

採用二進制后,僅有的兩個符號 “1” 和 “0” 正好可以與邏輯命題的兩個值 “真” 和 “假” 相對應,能夠方便地使用邏輯代數這一有力工具來分析和設計計算機的邏輯電路。

雖然在 1950 年代就造出了更加高效的三元計算機,但在效率和複雜度的取捨上,始終抵不過二進制。二進制仍然在當今世界中長期存在。

Part 4. CPU 的實際工作方式

上面我們了解到計算機以二進制的形式運行,它們只有兩種狀態:開(1)和關(0),為了執行二進制計算,我們需要採用一種特殊的电子元器件,稱為 「晶體管」。暫時我們把它理解為一種開關吧,通電就打開,沒電流通過就關閉。

利用”開關”搭建邏輯電路

我們知道,給電燈通上電,它就會亮:

於是,結合上開關,我們就能搭建出最基礎的 與門或門

與門

該電路的邏輯是:只有當 A 和 B 同時開啟時,LED 燈才會亮,也就是認為輸出 1,我們可以利用電信號來簡單模擬一下:

A B Y
0 0 0
1 0 0
0 1 0
1 1 1

或門

該電路的邏輯是:當 A 或者 B 開啟時,LED 燈就會亮,也就是認為輸出 1,我們可以利用電信號來簡單模擬一下:

A B Y
0 0 0
1 0 1
0 1 1
1 1 1

其他門

類似地,我們可以藉助更多的电子元器件來創造出基礎的 7 種邏輯門電路:

  • 圖片來源:https://www.zhihu.com/question/348237008/answer/843382847 | @Zign

這裏需要特別提一下 異或門,我們需要先知道有一種电子元器件可以利用電氣特性對 輸入取反,也就是說輸入 1 則輸出 0,輸入 0 則輸出 1,那麼我們就可以 簡單模擬 出異或門邏輯電路(實際會更複雜些,這裏僅展示出異或的意思):

A'B' 分別表示 AB 開關的反值,從圖中我們很容易知道只有當 AB 只存在一個輸入 1 時,整個電路才會輸出 1

利用邏輯門簡單計算加法

OK,上面我們了解到我們能夠利用 “開關” 來模擬邏輯的運算,我們接下來試着還原一個簡單的加法運算器是如何實現的:

僅需兩個門,就可以完成基本的二進制加法運算。上圖是利用 logic.ly 創建的半加法器,AB 相當於使我們計算的兩個數,最後一塊相當於是我們的數顯芯片,它的功能是根據輸入显示数字,從上到下的引腳(也就是圖中輸入的地方,通常我們這樣稱呼)分別對應了 20=121=222=423=8 的輸入,沒有任何輸入時显示為 0,如果 引腳 1(對應 20=1)像上圖一樣有輸入,則显示 0 + 1 = 1

我們來理解一下上方的電路:

  • 如果僅打開一個輸入,但不同時打開兩個輸入,則此處的 XOR 門(異或門)將打開,此時對應輸入 引腳 1,显示 数字 1(類似於 1 + 0 和 0 + 1);
  • 如果兩個輸入均打開,則 AND 門(與門)將打開,此時對應輸入 引腳 2,显示 数字 2(類似於 1 + 1);
  • 如果沒有輸入,則 AND 門和 XOR 門都保持關閉,此時显示 数字 0(類似於 0 + 0);

因此,如果兩個都打開,則 XOR 保持關閉,並且 AND 門打開,得出正確的答案為 2

但這隻是最基礎的半加法運算器,不是太有用,因為它只能解決最簡單的數學問題之一。但如果我們把它們兩個與另一個輸入連接,就會得到一個完整的加法器:

仔細思考幾遍,你就會得知這個三個輸入的加法器已經可以計算 3 個二進制数字的加法運算了,我們如法炮製,可以通過連接更多的”進位”來使這個加法器能夠運算更多的數,這當然也意味着這個計算鏈條更長。

大多數其他數學運算都可以加法完成。乘法只是重複加法,減法可以通過一些奇特的位反轉來完成,而除法只是重複減法。並且,儘管所有現代計算機都具有基於硬件的解決方案以加快更複雜的操作,但從技術上講,您可以使用完整的加法器來完成全部操作。

總線和內存

現在,我們的計算機只不過是一個計算器,它記不住任何內容也對輸出沒有任何操作,上述電路只是接了一個显示單元而已。

上面展示的是一個存儲單元。它使用了大量的 NAND 門,並且在實際生產中,根據存儲技術的不同,它們可能會大不相同,但其功能是相同的。

您給它一些輸入,並打開“寫”位(Write 輸入 1),它將把輸入存儲在單元內。這不僅是一個存儲單元,因為我們還需要一種從中讀取信息的方法。這是通過一個使能器完成的,該使能器是「存儲器」中每個位的“與”門的集合,所有位都與另一個輸入(即“讀取”位)綁定在一起。寫入和讀取位通常也稱為“設置”(set)和“啟用”(enable)。

上面整個存儲單元都包裹在所謂的寄存器中。這些寄存器連接到 總線,總線是圍繞整個系統運行的一束電線,並連接到每個組件。即使現代計算機也具有總線,儘管它們可能具有多個總線以提高多任務處理性能。

每個寄存器仍有一個讀寫位,但是在這種設置下,輸入和輸出是一樣的。這實際上很好。例如:如果要將 R1 的內容複製到 R2,則應打開 R1 的讀取位,這會將 R1 的內容壓入總線。當讀取位打開時,您將打開 R2 的寫入位,這會將總線內容複製到 R2 中。

寄存器也用於製作 RAM。RAM 通常布置在網格中,並且導線有兩個方向:

解碼器採用二進制輸入並打開相應的編號線。例如,11 在二進制數中是 3,即最高的 2 位数字,因此解碼器將打開最高的線路。每個路口都有一個寄存器。所有這些都連接到中央總線以及中央寫入和讀取輸入。只有跨寄存器的兩條導線也都打開時,讀和寫輸入才會打開,從而有效地允許您選擇要從中進行讀寫的寄存器。同樣,現代 RAM 要複雜得多,但是此設置仍然有效。

時鐘,步進器和解碼器

寄存器無處不在,是在 CPU 中移動數據並將信息存儲在 CPU 中的基本工具。那麼,是什麼告訴他們移動數據的呢?

時鐘是 CPU 核心中的第一個組件,它將按設置的時間間隔(以赫茲或每秒周期為單位)關閉和打開。這就是您看到的最直觀的 CPU 速度指標。

時鐘具有三種不同的狀態:基本時鐘,使能時鐘和設置時鐘。基本時鐘將打開半個周期,另一半關閉。使能時鐘用於打開寄存器,並且需要更長的時間才能確保數據被使能。設置時鐘必須始終與使能時鐘同時打開,否則可能會寫入錯誤的數據。

時鐘連接到步進器,步進器將從 1 到最大步數進行計數,並在完成后將自身重置為 1。時鐘還連接到 CPU 可以寫入的每個寄存器的 AND 門:

這些 “與” 門還連接到另一個組件的輸出,即指令解碼器。指令解碼器接受 SET R2 TO R1 之類的指令,並將其解碼為 CPU 可以理解的內容。它有自己的內部寄存器,稱為“指令寄存器”,該寄存器存儲了當前操作。它的精確程度取決於您正在運行的系統,但是一旦解碼,它將打開正確的設置並啟用正確寄存器的位,這些寄存器將根據時鐘觸發。

程序指令存儲在 RAM(或現代系統中的 L1 高速緩存,更靠近 CPU)中。由於程序數據與其他所有變量一樣都存儲在寄存器中,因此可以隨時對其進行操作以在程序中跳轉。這就是程序通過循環和 if 語句獲取結構的方式。跳轉指令將指令解碼器正在讀取的存儲器中的當前位置設置到其他位置。

一切如何配合

現在,我們對 CPU 工作原理的有了一些基本的了解。主總線跨越整個系統,並連接到所有寄存器。完整的加法器以及其他一系列運算都打包在算術邏輯單元或 ALU 中。該 ALU 將與總線建立連接,並且還將具有自己的寄存器來存儲正在操作的第二個数字。

為了執行計算,將程序數據從系統 RAM 加載到控制部分。控制部分從 RAM 中讀取兩個数字,將第一個数字加載到 ALU 的指令寄存器中,然後將第二個数字加載到總線上。同時,它向 ALU 發送指令代碼,告知其操作方法。然後,ALU 執行所有計算,並將結果存儲在另一個寄存器中,CPU 可以從該寄存器中讀取該值,然後繼續該過程。

參考資料

  1. 原來,我們是這樣記數的 – https://www.jianshu.com/p/58844323e4fb
  2. 二進制數的運算方法 – https://www.jianshu.com/p/560aba49c9a4
  3. 文字,圖片,視頻,音頻的二進製表示 – https://blog.csdn.net/c46550/article/details/91040925
  4. 知乎 – 計算機只認識0和1但是怎麼表示圖像和影視等等眾多應用的? | @kross – https://www.zhihu.com/question/36269548
  5. Introduction to binary numbers – https://pmihaylov.com/intro-binary-numbers/
  6. What is Binary, and Why Do Computers Use It? – https://www.howtogeek.com/367621/what-is-binary-and-why-do-computers-use-it/
  7. CPU 是怎樣認識代碼的? | 知乎 – https://www.zhihu.com/question/348237008/answer/843382847 | @Zign
  8. HTG Explains: How Does a CPU Actually Work? – https://www.howtogeek.com/367931/htg-explains-how-does-a-cpu-actually-work/

往期推薦

  1. 「MoreThanJava」當大學選擇了計算機之後應該知道的
  2. 「MoreThanJava」計算機發展史—從織布機到IBM
  3. 「MoreThanJava」計算機系統概述
  4. 媽媽再也不擔心我面試被Redis問得臉都綠了
  • 本文已收錄至我的 Github 程序員成長系列 【More Than Java】,學習,不止 Code,歡迎 star:https://github.com/wmyskxz/MoreThanJava
  • 個人公眾號 :wmyskxz,個人獨立域名博客:wmyskxz.com,堅持原創輸出,下方掃碼關注,2020,與您共同成長!

非常感謝各位人才能 看到這裏,如果覺得本篇文章寫得不錯,覺得 「我沒有三顆心臟」有點東西 的話,求點贊,求關注,求分享,求留言!

創作不易,各位的支持和認可,就是我創作的最大動力,我們下篇文章見!

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

※別再煩惱如何寫文案,掌握八大原則!

什麼是銷售文案服務?A就是幫你撰寫適合的廣告文案。當您需要販售商品、宣傳活動、建立個人品牌,撰寫廣告文案都是必須的工作。

AR領域的殺手級設備已經誕生?蘋果認為就是智能手機_如何寫文案

※教你寫出一流的銷售文案?

銷售文案是什麼?A文案是廣告用的文字。舉凡任何宣傳、行銷、販賣商品時所用到的文字都是文案。在網路時代,文案成為行銷中最重要的宣傳方式,好的文案可節省大量宣傳資源,達成行銷目的。

增強現實(AR)是將虛擬信息疊加到現實世界中,實現虛擬場景與現實世界巧妙融合的效果。然而自從這項技術誕生以來,始終缺少殺手級設備。不過蘋果認為,AR殺手級設備其實已經存在,那就是智能手機。該公司AR高管表示,iPhone和iPad正在轉變為世界地圖和物體掃描工具,而且它們比AR眼鏡更重要。

許多傳聞显示,在不久的將來,蘋果就將推出AR或混合現實(MR)設備。雖然蘋果還沒有對此進行過任何相關討論,但AR技術在iPhone上的應用已經十分活躍,而且發展得很快。

蘋果於2017年開始了AR之旅,其虛擬宜家傢具和外觀逼真的戶外Pokemon Go大戰引起了巨大轟動。今年,蘋果新款iPhone 12 Pro可以掃描消防栓、繪製房間內部地圖,以及在地板上導航如何穿過熔岩河。在很多方面,最新款iPhone和iPad上的蘋果深度感應激光雷達傳感器,以及先進的3D掃描功能,感覺就像是未來蘋果AR設備的支柱。

Facebook、微軟和Magic Leap已經在開發旨在融合虛擬和現實的設備,未來將有更多使用高通芯片的AR設備面世。但蘋果AR主管邁克·洛克威爾(Mike Rockwell)和高級產品經理亞歷山德拉·麥金尼斯(Allessandra McGinnis)稱,蘋果目前的AR使命是讓現有設備上的功能更好地運行。從長遠來看,將AR與現實世界的位置分層並自動彈出體驗,同時基於AR的能力開發創造性工具和輔助技術,可能會成為最大的殺手級應用。

洛克威爾說:“AR具有巨大的潛力,可以幫助人們生活的方方面面,無論是現在的設備還是將來可能出現的設備上,但我們必須確保它能成功。對我們來說,實現這一目標的最佳方式是建立我們的設備生態系統,讓人們投入自己的時間和精力,這是個健康而又有利可圖的新領域。”

像Oculus Quest 2這樣的虛擬現實(VR)設備,儘管質量在不斷提高,但與手機相比,仍沒有多少人在使用它。Moor Insights的高級消費芯片分析師安謝爾·薩格(Anshel Sag)表示,除了索尼,沒有人真正談論VR頭盔的銷量。到目前為止,索尼已經售出了500萬台PlayStation VR頭盔,儘管Oculus Quest 2很有可能在第一年賣出500萬至600萬台。

但即便如此,這些VR頭盔上的應用程序通常會讓人感覺與手機和電腦上的日常應用相去甚遠。洛克威爾指出:“對於那些只使用VR或AR的開發者來說,這是一條相當艱難的道路,市場上沒有那麼多設備。與此同時,蘋果自2017年以來擁有AR功能的iPhone和iPad數量高達數億部。即使只吸引了相對較小的比例,這仍然是個巨大的数字。”

※別再煩惱如何寫文案,掌握八大原則!

什麼是銷售文案服務?A就是幫你撰寫適合的廣告文案。當您需要販售商品、宣傳活動、建立個人品牌,撰寫廣告文案都是必須的工作。

蘋果表示,目前已有7000名開發者開發了1萬款支持AR的iOS應用程序,其中許多應用側重於購物或家居裝修,將其作為在家實際使用AR的一種方式。實用性似乎正是蘋果目前最關注的。洛克威爾說:“我們想為開發者提供可賴以謀生的平台和生態系統。”

雖然COVID-19大流行已經讓大多數人關閉了實體企業,減緩了旅行速度,但使用AR工具進行家庭購物是蘋果目前的主要工作。谷歌和微軟都在尋求通過基於手機的增強現實工具在你的手機上看到你可能想要購買的3D產品的方式,就像蘋果的Safari瀏覽器使彈出式增強現實購物看起來像是去商店的替代品一樣。

雖然新冠肺炎疫情已經關閉了實體企業,減緩了大多數人的出行速度,但使用AR工具進行家居購物是蘋果目前關注的主要問題。就像谷歌和微軟正在尋求的方法一樣,使用基於手機的AR工具,你可能會在家裡的手機上以3D形式查看你可能想要購買的東西。蘋果與Safari瀏覽器的連接使彈出式AR購物看起來像是實體購物的替身。

與此同時,新款iPhone 12 Pro之類的智能手機可以成為主要的創意工具,為未來的AR設備添磚加瓦。Adobe AR主管斯特凡諾·科拉扎(Stefano Corrazza)說:“在一段時間內,iPhone  12  Pro將是主要的消費設備,但也可以3D掃描內容,它是非常強大的機器。”Adobe還沒有在Aero上使用3D掃描工具,但未來可能會探索加入這些功能的方法。

蘋果進入AR領域的第一步,只是使用手機的運動傳感器、陀螺儀和內置攝像頭來識別樓層,然後識別牆和人類。現在,搭載激光雷達的iPhone和iPad可通過快速網格化(以3D方式繪製)房間的全景,同時可3D掃描空間中的物體和人。洛克威爾說:“這就是我們在設備上安裝掃描儀的部分原因。我們覺得這是一項關鍵技術,可以開啟3D掃描的爆炸式增長,可以用於各種用途。”

洛克威爾認為:“iPhone AR未來真正的殺手級應用是,它將始終以微妙的方式被定期使用,幫助人們做現在做的事情,讓你的工作變得更容易、更快。”實現這個目標的途徑包括App Clips,這是蘋果在iOS 14中推出小型微應用,無需下載任何東西就能在iPhone上運行。通過掃描或點擊,用戶可以出現與我所在地方相關的AR環境,比如虛擬菜單或博物館展品。

這還涉及蘋果的地圖繪製工作。蘋果新推出的Location Anchors意味着,虛擬AR對象可以存在於現實生活中的地點,並與多人同時共享。蘋果認為,對於每天使用AR的人來說,上述功能至關重要。與此同時,該公司正在鼓勵開發者開發支持AR的應用程序。無論AR設備是否會在短期内面世,更具空間意識的iPhone和iPad都將把手機轉變為世界掃描設備,並更快融入我們的生活中。

【本文作者金鹿,由合作夥伴騰訊科技授權發布,文章版權歸原作者及原出處所有,轉載請聯繫原出處。文章系作者個人觀點,不代表立場。如內容、圖片有任何版權問題,請聯繫(editor@zero2ipo.com.cn)處理。】

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

擁有後台管理系統的網站,將擁有強大的資料管理與更新功能,幫助您隨時新增網站的內容並節省網站開發的成本。

黎巴嫩環境部長卡塔爾 宣布辭職_如何寫文案

※教你寫出一流的銷售文案?

銷售文案是什麼?A文案是廣告用的文字。舉凡任何宣傳、行銷、販賣商品時所用到的文字都是文案。在網路時代,文案成為行銷中最重要的宣傳方式,好的文案可節省大量宣傳資源,達成行銷目的。

摘錄自2020年8月10日now新聞報導

黎巴嫩貝魯特港口大爆炸,造成至少158人死亡,6000人受傷,並觸發大規模反政府示威,環境部長卡塔爾和新聞部長薩馬德辭職。

當局繼續在現場搜救,尋找生還者及遇難者遺體。大爆炸在8/4發生,除了造成嚴重傷亡和破壞,亦觸發8/8的大規模示威,部分示威者闖入外交部、能源部和經濟部等部門抗議,指摘政府貪腐和管理不善,是導致大爆炸悲劇的罪魁禍首。

※別再煩惱如何寫文案,掌握八大原則!

什麼是銷售文案服務?A就是幫你撰寫適合的廣告文案。當您需要販售商品、宣傳活動、建立個人品牌,撰寫廣告文案都是必須的工作。

新聞部長薩馬德為無法滿足民眾的要求道歉,又說由於改革仍然渺茫,所以決定辭職。反對黨長槍黨幾名國會議員早前已宣布辭職,表明會繼續推動國家改革。

污染治理
國際新聞
黎巴嫩
爆炸

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

擁有後台管理系統的網站,將擁有強大的資料管理與更新功能,幫助您隨時新增網站的內容並節省網站開發的成本。

D-Link 推出全球首款隨身碟型 Wi-Fi 6 網路接收裝置,老電腦快速升級_如何寫文案

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

擁有後台管理系統的網站,將擁有強大的資料管理與更新功能,幫助您隨時新增網站的內容並節省網站開發的成本。

科技時代,網路技術也在不斷進步,大家越來越熟悉的 Wi-Fi 6 無線網路更是將網路傳輸速度提升到另一個境界,如果家裡的筆電產品是兩年前的舊款,又想要享用到最新的無線網路技術,現在你有更聰明的解決方案。D-Link 於今日(1/12)發表了全球首款隨身碟型的 Wi-Fi 6 網路裝置,相對更省錢。

D-Link 推出全球首款隨身碟型 Wi-Fi 6 網路接收裝置,老電腦快速升級

Wi-Fi 6 是兩年前推出的新無線網路標準,近期的筆電中幾乎可算是標準配備,如果你的工作或家庭環境中已經有 Wi-Fi 6 無線網路覆蓋,想要進一步升級舊款筆電與桌機來適配現有的高速無線網路,D-Link 甫發表的 AX1800 Wi-Fi 6 USB 3.0 (DWA-X1850)將是更經濟而簡單的升級方式。

外型上就如同一只小巧的 USB 隨身碟,只需將它插入 USB 3.0 連接埠中,就能隨插即用地提供高達 AX1800, 2.4GHz 頻段下速度為 574Mbps,5GHz 頻段下可達 1200Mbps,採用 OFDMA 和 MU-MIMO 技術,帶來更穩定、快速的讀取與寫入速度,非常適合像是大型檔案的傳輸、線上學習課程的觀看和最講究即時性的 FPS 遊戲。該網路接收裝置具備更安全的 WPA3 加密標準,讓在家工作的 SOHO 能夠更放心地享用安全性更高的無線網路連接。

很多人會疑惑到底該不該試試 Wi-Fi 6 ,Wi-Fi 6 最顯著的優點就是能夠讓設備更有效地與路由通訊,進而改善整個網路連線效能,連線過程安全性也更高。這款隨身碟型 Wi-Fi 6 網路接收裝置預計將在 2021 年第二季上市,價格定為 100 美元。

※別再煩惱如何寫文案,掌握八大原則!

什麼是銷售文案服務?A就是幫你撰寫適合的廣告文案。當您需要販售商品、宣傳活動、建立個人品牌,撰寫廣告文案都是必須的工作。

您也許會喜歡:

【推爆】終身$0月租 打電話只要1元/分

立達合法徵信社-讓您安心的選擇

※教你寫出一流的銷售文案?

銷售文案是什麼?A文案是廣告用的文字。舉凡任何宣傳、行銷、販賣商品時所用到的文字都是文案。在網路時代,文案成為行銷中最重要的宣傳方式,好的文案可節省大量宣傳資源,達成行銷目的。

從軟件開發到 AI 領域工程師:模型訓練篇_如何寫文案

※別再煩惱如何寫文案,掌握八大原則!

什麼是銷售文案服務?A就是幫你撰寫適合的廣告文案。當您需要販售商品、宣傳活動、建立個人品牌,撰寫廣告文案都是必須的工作。

前言

4 月熱播的韓劇《王國》,不知道大家有沒有看?我一集不落地看完了。王子元子出生時,正逢宮內殭屍作亂,元子也被咬了一口,但是由於大腦神經元尚未形成,寄生蟲無法控制神經元,所以醫女在做了簡單處理后,判斷不會影響大腦。這裏提到了人腦神經元,它也是 AI 神經網絡的研究起源,具體展開講講。

人腦中總共有 860 億個神經元,其中大腦皮層有 160 億個神經元。大腦皮層的神經元數量決定了動物的智力水平,人的大腦皮層中神經元數量遠高於其他物種,所以人類比其他物種更聰明。大象的腦子總共有 2570 億個神經元,但是其中 98% 的神經元都存在於大象的小腦中,而大象的大腦皮層只有 56 億個神經元,無法與人類相比。大腦皮層中的神經元數量越大,能耗也越大。人腦每天消耗的能量占人體全部耗能的 25%,這也就是為什麼我們每天都要吃多餐,很容易餓的原因。人之所以能夠很快超越其他物種,主要是因為人類掌握了烹飪技術,能夠在短時間內攝入大量卡路里以支持大腦運轉,其他物種則將攝入的卡路里用於維護身體運轉,不得不犧牲大腦皮層的神經元數量。

之所以先談大腦神經元原理,也是為了引出本文的重點–現代 AI 技術。在正式進入 AI 技術前,我先講講軟件工程師這份工作,因為現在有很多軟件工程師準備轉入 AI 行業。

軟件工程師

我是軟件工程師出身,2004 年剛畢業時我寫的是 JSP 代碼(一種將 Java 語言嵌入在 HTML 代碼中的編寫方式),工作幾年後轉入分佈式軟件技術,再後來進入大數據技術領域,最近的 4 年時間我一直在從事 AI 平台研發工作。

軟件工程師的要求,我總體分為基礎編碼和系統架構兩方面,因此我對於軟件工程師的考察,特別是校招學生時,為了進一步考察他們的綜合能力,我每次都會自己準備面試題,這些題目包括了編程基本概念、算法編程題、操作系統、數據庫編程、開源代碼閱讀、垃圾回收機制、系統架構描述等。

編碼的話題展開來可以講很久,發展歷史很悠久,我 15 歲學編程時用的是 Basic 語言,讀大學時學的是 C 語言,大學畢業參加工作后第一門用的語言是 Java,其中的各種故事和理解可以寫幾篇文章,這裏不展開談。

我覺得談到軟件工程師工作,避不開軟件架構設計。大眾談軟件架構,很多人會認為軟件架構就是一堆框架的組合,其實不對,軟件架構本身是對於軟件實體的組織形式的闡述,使用框架的意義是快速完成軟件架構設計,而不是取代軟件架構設計,兩者本質上不是一類事物,更像是設計圖紙和所使用的原材料。軟件架構就是通過對軟件生命周期的拆分,在符合業務架構的前提下,以達到軟件本身訪問增長目的的方式。這個增長需要軟件開發的增長,也需要軟件運行的增長,由此達到所支撐業務的增長。

市面上也確實有很多例如“分佈式系統架構”、“微服務架構”等等跟隨着潮流的書籍,但是看完后只停留在會採用一些開源框架進行整體框架搭建,我說的是搭建,而不是設計。確實是搭建,你所擁有的能力就好像小孩子搭積木,只會採用固定討論,或者學得差點,連固定套路都沒學會,這樣對你的個人能力發展其實沒有多大好處,這也是為什麼很多程序員在完成了程序員 – 架構師的轉型后,沒過多久就轉為純管理,或者徹底離開了技術界,因為從來沒有大徹大悟理解系統架構。

之所以談了這麼多系統架構相關的工作理解,是因為我認為系統架構師系統化的思維,我們搞 AI 系統也是系統化的思維,從有較強編程能力的系統架構師轉 AI 技術,相對容易一些。

AI 工程師

為什麼要從軟件工程師轉行到 AI 產品研發?因為 AI 產品研發有更大的吸引力,因為它更難,難到我們並不確定什麼時候才能真正做出來,做出來真正能夠可複製的 AI 產品。表面上看它也是一個門檻—一個“可用”且“可複製”的 AI 技術,但因為難度足夠大,所以有挑戰性,必須不斷地改善技術,做全球範圍內還沒有做出來的技術。搞軟件開發時處理的一些問題可能是其他公司已經解決的,並非“人類”都還沒有解決的問題。

AI 的研究最早可以被追溯到亞里士多德的三段論,然後萊布尼茨創立了處理邏輯,布爾在布爾代數上的貢獻,弗雷德在近代邏輯上的貢獻,羅素在邏輯主義方面的貢獻,這些工作都是在數據邏輯上的。一般認為,現代 AI 技術討論,起源於 1956 年在達特茅斯學院召開的夏季研討會,而這門學科的源頭可能是 Alan Turing(阿蘭. 圖靈) 1948 年在英國國家物理實驗室(NPL)寫過的一份內部報告,這份報告中提到了肉體智能和無肉體智能,從某種意義上預示了後來符號派和統計派之爭,或是 Turing 在 1950 年在哲學雜誌《心》(Mind)上發表的文章“計算機與智能”,反正都是 Turing。

可以這麼認為,現代 AI 是一系列通用目的技術的總稱。現代 AI 技術,主要指基於機器學習(Machine Learning,簡稱 ML)/ 深度學習(Deep Learning,簡稱 DL)的一系列方法和應用,這隻是 AI 領域的一個分支,也是目前發展最快、應用最廣的分支。

機器學習 / 深度學習的原理可以這樣理解:建立一個模型,給一個輸入,通過模型的運算,得到一個輸出。可以用於解決一個簡單問題,例如識別圖片是不是狗,也可以用來解決複雜問題,例如下棋、開車、醫療診斷、交通治理等等,也可以理解為,模型就是一個函數 f(x),上述過程,可以表達為:f(一張圖片)= 狗 / 不是狗。

一個 AI 應用開發,大概分為三個階段:

  • 第一階段,識別問題、構建模型、選擇模型。AI 的開發和培養一個小孩子類似,不同的孩子有不同的愛好和特長,同樣地,AI 也有很多模型 / 算法,不同的模型 / 算法適合解決不同的問題。所以,首先要識別你要解決的是個什麼問題,然後選擇一個合適的模型 / 算法;
  • 第二階段,訓練模型。和培養小孩子一樣,即使你發現小孩子有音樂天分,他也不可能天生就是鋼琴家,他需要專業的訓練。AI 開發也一樣,選定模型 / 算法后,即使算法再好,也不能馬上有效工作,你需要用大量的數據訓練這個模型,訓練過程中不斷優化參數,讓模型能夠更為有效地工作。這個階段 AI 模型的工作狀態,叫做“訓練”;
  • 第三階段,模型部署。模型訓練結束后就可以部署了。比如一個人臉識別的模型,你可以把它部署在手機上,用於開機鑒權,也可以把它部署在園區閘機上,用於出入管理,還可以把它部署在銀行的客戶端上,用於業務鑒權,等等。如同一個孩子成長為鋼琴家后,既可以在音樂會上演奏,也可以在家庭聚會上表演。AI 模型部署之後的工作狀態,專業的說法,叫做“推理”。

通過上述 AI 開發過程的簡述,可以發現,算法、數據和算力,是驅動 AI 發展的三大動力,三者缺一不可。

  • 算法相當於是基因。基因不好,再努力也白搭。如何識別問題,並根據問題選擇算法,甚至開發新的算法,是高端 AI 專家的核心競爭力;
  • 數據相當於是學習材料。光基因好,沒有好的教材,也教不出大師。AI 的訓練,需要海量的、高質量的數據作為輸入。AlhpaGo 通過自己和自己下棋,下了幾千萬盤,人類一輩子最多也就下幾千盤。沒有這樣的訓練量,AlhpaGo 根本不可戰勝人類。自動駕駛,Google 已經搞了 10 年,訓練了幾十萬小時,遠遠超過一個專業賽車手的訓練量,但離真正的無人駕駛還差很遠。另外,數據的質量也很重要,如果你給 AI 輸入的數據是錯的,那麼訓練出來的 AI,也會做出錯誤的結果。簡單的說,如果你把貓的圖片當做狗的圖片去訓練 AI,那麼訓練出來的 AI,就一定會把貓當做狗。數據的重要性直接導致了中國湧現了大批以數據標註為生存手段的公司和個人;
  • 一個小孩,光有天分和好的學習材料,自己如果不努力,不投入時間和精力好好學習,絕對不可能成為大師。同樣的道理,一個 AI 模型,算法再好、數據再多,如果沒有足夠的算力,支撐它持續不斷的訓練,這個模型永遠也不能成為一個真正好用的模型。這就是為什麼英偉達崛起的原因,這家公司的 GPU 芯片提供了最為適配於人腦神經網絡的計算算力,現在國內工業界也有了類似的公司產品 – 華為的達芬奇芯片。

訓練 AI 應用模型

動手實踐前

接下來,我們通過對一個 AI 應用模型的訓練和推理過程介紹,開始動手實踐。

訓練模型需要算力,對於算力的獲取,訓練和推理可以根據自己的業務需求,選擇使用公有雲或自己購買帶算力芯片的服務器,本文案我選擇的是某花廠的 AI 開發平台,因為近期他們剛推出一個免費算力的推廣活動,可以省下一筆訓練費用。為了便於調試,我首先在自己的 CPU 個人電腦上編寫代碼、訓練模型,這樣做的缺點是模型收斂的時間長了一些。

疫情期間,對於民眾來說,佩戴口罩是最有效防止被傳染新冠病毒的方式,保護自己的同時也保護他人。所以本文的案例是佩戴口罩的識別模型訓練。識別算法離不開目標檢測。目標檢測(Object Detection)的任務是找出圖像中所有感興趣的目標(物體),確定它們的位置和大小。由於各類物體有不同的形狀、大小和數量,加上物體間還會相互遮擋, 因此目標檢測一直都是機器視覺領域中最具挑戰性的難題之一。

基於深度學習的人臉檢測算法,多數都是基於深度學習目標檢測算法進行的改進,或者說是把通用的目標檢測模型,為適應人臉檢測任務而進行的特定配置。而眾多的目標檢測模型(Faster RCNN、SSD、YOLO)中,人臉檢測算法最常用的是 SSD 算法(Single Shot MultiBox Detector,“Single Shot”指的是單目標檢測,“MultiBox”中的“Box”就像是我們平時拍攝時用到的取景框,只關注框內的畫面,屏蔽框外的內容。創建“Multi”個 “Box”,將每個 “Box” 的單目標檢測結果匯總起來就是多目標檢測。換句話說,SSD 將圖像切分為 N 片,並對每片進行獨立的單目標檢測,最後匯總每片的檢測結果。),其他如 SSH 模型、S3FD 模型、RetinaFace 算法,都是受 SSD 算法的啟發,或者基於 SSD 進行的任務定製化改進, 例如將定位層提到更靠前的位置,Anchor 大小調整、Anchor 標籤分配規則的調整,在 SSD 基礎上加入 FPN 等。本文訓練口罩識別模型採用了 YOLO。

目標檢測過程都可以分解為兩個獨立的操作:

  • 定位(location): 用一個矩形(bounding box)來框定物體,bounding box 一般由 4 個整數組成,分別表示矩形左上角和右下角的 x 和 y 坐標,或矩形的左上角坐標以及矩形的長和高。
  • 分類(classification): 識別 bounding box 中的(最大的)物體。

我選擇採用 keras-yolo3-Mobilenet 方案,開源項目地址:
https://github.com/Adamdad/keras-YOLOv3-mobilenet。
MobileNet 的創新亮點是 Depthwise Separable Convolution(深度可分離卷積),與 VGG16 相比,在很小的精度損失情況下,將運算量減小了 30 倍。YOLOv3 的創新亮點是 DarkNet-53、Prediction Across Scales、多標籤多分類的邏輯回歸層。

基於開源數據集的實驗結果:

動手訓練模型

訓練模型自然需要訓練數據集和測試數據集,大家可以在這裏下載:

https://modelarts-labs-bj4.obs.cn-north-4.myhuaweicloud.com/casezoo/maskdetect/datasets/maskdetectdatasets.zip

Yolo v3-MobileNet 目標檢測工程的目錄結構如下:

|--model_data
 |--voc_classes.txt
 |--yolo_anchors.txt
|--yolo3
 |--model.py
 |--model_Mobilenet.py
 |--utiles.py
|--convert.py
|--kmeans.py
|--train.py
|--train_Mobilenet.py
|--train_bottleneck.py
|--voc_annotation.py
|--yolo.py
|--yolo_Mobilenet.py
|--yolo_video.py

開源項目的好處是已經幫你封裝了流程,例如涉及的 Yolo 代碼不用修改,本次訓練過程需要修改的代碼主要是以下三個:

1.train_Mobilenet.py:模型訓練代碼;
2.yolo/model_Mobilenet.py:基於 mobilenet 的 yolo 的模型代碼,如果相對模型代碼仔細研究的人,可以研究這個代碼;
3.yolo_Mobilenet.py:模型推理代碼。

接下來具體介紹我們需要修改的代碼,按照功能分為數據類、模型類、可視化類、遷移上雲準備類。

※教你寫出一流的銷售文案?

銷售文案是什麼?A文案是廣告用的文字。舉凡任何宣傳、行銷、販賣商品時所用到的文字都是文案。在網路時代,文案成為行銷中最重要的宣傳方式,好的文案可節省大量宣傳資源,達成行銷目的。

•數據類:

仿照 modeldata/vocclasses.txt 寫一個是否有戴口罩的類別的 txt,內容只有 yes_mask、no_mask 兩個字符。

如果你下載我給出的數據集,你會發現,口罩數據集中給出的 xml 標註格式是 VOC 的標準的,仿照 convert.py 和 voc_annotation.py 寫一個數據轉換文件,代碼如下所示:

import xml.etree.ElementTree as ET 
import os 
 
def convert_annotation(classes, label_path): 
    in_file = open(label_path) 
    tree=ET.parse(in_file) 
    root = tree.getroot() 
    output_list = [] 
    for obj in root.iter('object'): 
        difficult = obj.find('difficult').text 
        cls = obj.find('name').text 
        if cls not in classes or int(difficult)==1: 
            continue 
        cls_id = classes.index(cls) 
        xmlbox = obj.find('bndbox') 
        b = (int(xmlbox.find('xmin').text), int(xmlbox.find('ymin').text), int(xmlbox.find('xmax').text), int(xmlbox.find('ymax').text)) 
        output_list.append(" " + ",".join([str(a) for a in b]) + ',' + str(cls_id)) 
    return (' '.join(output_list)) 
 
 
def mask_convert(data_path, classes): 
    img_list = [] 
    for i in list(os.listdir(data_path)): 
        if i.split('.')[1] == 'jpg': 
            img_list.append(i.split('.')[0]) 
 
    output_list = [] 
    for image_id in img_list: 
        img_path = (data_path + '/%s.jpg' % (image_id)) 
        label_path = (data_path + '/%s.xml' % (image_id)) 
        annotation = convert_annotation(classes, label_path) 
        output_list.append(img_path + annotation) 
 
    return output_list

•模型類:

訓練過程中會有一個 tensor 對不上的錯誤,需要修改 model_data/model.py 這個代碼中的 140-141 行,如下所示:

box_xy = (K.sigmoid(feats[..., :2]) + grid) / K.cast(grid_shape[..., ::-1], K.dtype(feats)) 
box_wh = K.exp(feats[..., 2:4]) * anchors_tensor / K.cast(input_shape[..., ::-1], K.dtype(feats))

•可視化類:

為了直觀判斷模型效果,增加了一個在圖片上直接標註的可視化代碼,也就是在圖片上打印輸出結果(yes_mask 或 no_mask),代碼如下所示:

#!/usr/bin/env python 
# coding: utf- 
 
img_path = "D:/Code/mask_detection/data/test" 
save_path = "D:/Code/mask_detection/data/test_result/" 
 
 
import matplotlib 
matplotlib.use('Agg') 
import matplotlib.pyplot as plt 
import matplotlib.patches as patches 
import matplotlib.image as mpimg 
import random 
import json 
 
# 推理輸出路徑 
with open('D:/Code/mask_detection/keras-YOLOv3-mobilenet-master/annotation_YOLOv3.json') as json_file: 
    data = json.load(json_file) 
 
imgs = list(data.keys()) 
 
def parse_json(json): 
    bbox = [] 
    for item in json['annotations']: 
        name = item['label'] 
        xmin = item['x'] 
        ymin = item['y'] 
        xmax = item['x']+item['width'] 
        ymax = item['y']+item['height'] 
        bbox_i = [name, xmin, ymin, xmax, ymax] 
        bbox.append(bbox_i) 
    return bbox 
 
 
def visualize_bbox(image, bbox, name): 
    fig, ax = plt.subplots() 
    plt.imshow(image) 
    colors = dict()#指定標註某個對象的邊框的顏色 
    for bbox_i in bbox: 
        cls_name = bbox_i[0] #得到 object 的 name 
        if cls_name not in colors: 
            colors[cls_name] = (random.random(), random.random(), random.random()) #隨機生成標註 name 為 cls_name 的 object 的邊框顏色 
        xmin = bbox_i[1] 
        ymin = bbox_i[2] 
        xmax = bbox_i[3] 
        ymax = bbox_i[4] 
        #指明對應位置和大小的邊框 
        rect = patches.Rectangle(xy=(xmin, ymin), width=xmax-xmin, height=ymax-ymin, edgecolor=colors[cls_name],facecolor='None',linewidth=3.5) 
        plt.text(xmin, ymin-2, '{:s}'.format(cls_name), bbox=dict(facecolor=colors[cls_name], alpha=0.5)) 
        ax.add_patch(rect) 
    plt.axis('off') 
    plt.savefig(save_path+'{}_gt.png'.format(name)) #將該圖片保存下來 
    plt.close() 
 
 
for item in imgs: 
    img = mpimg.imread(img_path+item) 
    bbox = parse_json(data[item]) 
    visualize_bbox(img, bbox, item.split('.')[0])

•上雲準備類:

開源代碼寫的比較隨意,直接就是在訓練代碼 trian_Mobilenet.py 代碼中一開頭指定所有的參數。華為雲中訓練作業是需要指定 OBS 的輸入路徑和輸出路徑的,最好使用 argparse 的形式將路徑參數傳進去。其他參數可以按照自己需求做增加,修改樣例如下:

import argparse 
 
parser = argparse.ArgumentParser(description="training a maskmodel in modelarts") 
# 訓練輸出路徑 
parser.add_argument("--train_url", default='logs/maskMobilenet/003_Mobilenet_finetune/', type=str) 
# 數據輸入路徑 
parser.add_argument("--data_url", default="D:/code/mask_detection/data/MASK_MERGE/", type=str) 
# GPU 數量 
parser.add_argument("--num_gpus", default=0, type=int) 
args = parser.parse_args()

開源代碼中,數據處理的部分是將 xml 轉換成 yolo 讀的 txt 文檔,這樣導致數據輸入需要有一個寫入到 txt 文件,然後訓練工程讀取這個 txt 文件和圖片的過程。上雲后,這種流程不太方便,需要將數據處理,數據轉換和訓練代碼打通。這裏我使用緩存將數據直接傳到訓練代碼中,這樣改起來比較方便,但是當數據量較大的時候並不科學,有興趣的人可以自己修改。

遷移公有雲

我使用某廠商公有雲的 AI 訓練平台,用的是 OBS 桶上傳已經調試好的代碼(建議大家體驗 Notebook 方式,在線編程、編譯),如下圖所示:

接着啟動 Notebook,不過我沒有用 jupyter 方式寫代碼,而是採用同步 OBS 桶的資源,通過 Notebook 啟動一個 GPU 鏡像:

創建一個 Notebook 環境:

確認計算資源規格:

創建 Notebook 環境成功:

從 OBS 桶同步相關文件:

接下來進入該 Notebook 的終端環境,運行以下代碼,啟動訓練任務:

訓練過程輸出片段如下所示:

2020-04-07 18:58:14.497319: I tensorflow/stream_executor/dso_loader.cc:152] successfully opened CUDA library libcublas.so.10.0 locally
7/7 [==============================] - 17s 2s/step - loss: 4226.4421 - val_loss: 22123.3750
Epoch 2/50
7/7 [==============================] - 6s 855ms/step - loss: 1083.1558 - val_loss: 1734.1427
Epoch 3/50
7/7 [==============================] - 6s 864ms/step - loss: 521.8567 - val_loss: 455.0971
Epoch 4/50
7/7 [==============================] - 6s 851ms/step - loss: 322.8907 - val_loss: 193.3107
Epoch 5/50
7/7 [==============================] - 6s 841ms/step - loss: 227.7257 - val_loss: 150.8902
Epoch 6/50
7/7 [==============================] - 6s 851ms/step - loss: 179.0605 - val_loss: 154.9351
Epoch 7/50
7/7 [==============================] - 6s 868ms/step - loss: 150.4297 - val_loss: 147.3101
Epoch 8/50
7/7 [==============================] - 8s 1s/step - loss: 129.5681 - val_loss: 144.8283

模型生成后,創建一個 python 腳本,代碼如下,實現了模型文件拷貝到 OBS 桶:

from modelarts.session import Session
session = Session()
session.upload_data(bucket_path="/mask-detection-modelarts-test/run/log/", path="/home/ma-user/work/log/trained_weights_final.h5")

運行推理腳本,我把推測結果打印在了測試圖片上,如下圖所示,識別出了口罩:

後記

AI 技術的興起,已經帶動了科技行業的革命,而每一次業界的革命,都會讓一些公司落寞而讓另一些公司崛起,程序員也一樣,每一次技術換代也都會讓一些程序員沒落而讓另一些程序員崛起。抓住目前正在流行的 AI 技術趨勢,使用雲端的免費計算資源,上手學習並實踐 AI 技術,會是相當一部分軟件工程師、數據科學家的選擇。此外,由於在圖像識別、文本識別、語音識別等技術領域,算法的精度已經給有大幅度的提升,在很多場景下已經達到可商用級別,也進一步讓自動機器學習技術(模型的自動設計和訓練)的發展成為可能。因此,在上述幾個技術領域的很多應用場景下,公有雲已經可以做到根據用戶自定義數據進行 AI 模型的自動訓練。

點擊關注,第一時間了解華為雲新鮮技術~

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

擁有後台管理系統的網站,將擁有強大的資料管理與更新功能,幫助您隨時新增網站的內容並節省網站開發的成本。

為了買車看了小半年 15萬有點小帥的SUV就這麼幾款_如何寫文案

※別再煩惱如何寫文案,掌握八大原則!

什麼是銷售文案服務?A就是幫你撰寫適合的廣告文案。當您需要販售商品、宣傳活動、建立個人品牌,撰寫廣告文案都是必須的工作。

28萬自由俠同樣是今年關注度非常高的一款車,這與其標新立異的造型有着非常重要的關係。看慣了傳統SUV,自由俠這種有着強烈視覺反差的車型的確非常搶眼。套用小米Note2最近非常火的一句廣告詞,“一面硬派一面賣萌”。自由俠是Jeep的第二款國產車型,因此廣菲克對其也抱以非常大的期望。

前段時間,這句“明明可以看臉卻偏要靠實力”爆紅網絡,意思是一個人不僅顏值高而且還非常有能力,簡直要將我們這些“丑矮挫”趕盡殺絕。同時那句話很大程度上也反映出在當今時代,長得漂亮就是能獲得更多的關注,先天就要比別人擁有更多的優勢。

平時翻看後台看各位朋友們的留言,大家問及最多的車型就是SUV,今天叫獸就為大家理出了這幾款顏值爆表的SUV,

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

擁有後台管理系統的網站,將擁有強大的資料管理與更新功能,幫助您隨時新增網站的內容並節省網站開發的成本。

並且前提是好看還不貴,15萬就可以搞定。

友情提示:以下按叫獸喜好排序,就是辣么任性!

一汽馬自達 – CX-4

指導價:14.08 – 21.58萬

馬自達的“魂動”設計驚艷了無數人,也吸引了一大波“看臉”為主的粉絲。不得不承認,叫獸也被馬自達漂亮的外形迷倒了,但大家可別忘了,如今馬自達的車不僅顏值高,優異的操控也是馬自達一貫的優勢。

上半年推出的這款“轎跑SUV” – CX-4,一經亮相就吸引了無數目光。CX-4傳承了馬自達“魂動”設計理念,驚艷的造型簡直讓人沒有抵抗力。

另外值得一提的是,一向“高冷”的馬自達這回居然給CX-4定了個如此給力的價格,其中自動擋僅僅15萬出頭的價格極具誘惑力。叫獸已經從Golf“移情別戀”到CX-4上了,就等今晚雙色球開獎啦。

優點:越級式的外形設計;馬自達優良的操控得以傳承

缺點:漂亮的造型勢必會犧牲部分車內空間;目前終端幾乎沒優本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

※教你寫出一流的銷售文案?

銷售文案是什麼?A文案是廣告用的文字。舉凡任何宣傳、行銷、販賣商品時所用到的文字都是文案。在網路時代,文案成為行銷中最重要的宣傳方式,好的文案可節省大量宣傳資源,達成行銷目的。

全球動物園飼料短缺 印尼最大園區備糧暫無虞_如何寫文案

※教你寫出一流的銷售文案?

銷售文案是什麼?A文案是廣告用的文字。舉凡任何宣傳、行銷、販賣商品時所用到的文字都是文案。在網路時代,文案成為行銷中最重要的宣傳方式,好的文案可節省大量宣傳資源,達成行銷目的。

摘錄自2020年05月17日中央通訊社報導

塔曼動物園(Taman Safari)創辦人蔡亞聲(Jansen Manansang)13日指出,為配合印尼政府防疫,動物園約2個月前暫停對外開放,門票雖然是動物園的主要收入來源之一,但目前調動人力積極備糧,動物們仍有充足的糧食。

和其他動物園一樣,門票是塔曼動物園的主要收入之一;此外,塔曼動物園還有經營飯店及出售紀念品的收入。

蔡亞聲指出,為了降低疫情衝擊,策略是善用園區的自然環境。園區有260公頃,山區有許多植物、草地,原本負責行銷、售票、餐廳的員工,現在都負責尋找園區附近的糧草,定期整理,作為草食性動物的食物,這部分有充足的供應。

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

擁有後台管理系統的網站,將擁有強大的資料管理與更新功能,幫助您隨時新增網站的內容並節省網站開發的成本。

蔡亞聲指出,肉食性動物方面,除了有個人、社區、團體及政府的捐贈,園區員工也積極接洽餐廳、超市、肉製品工廠等,他們用不到的肉品都可以提供園區使用。

印尼動物園協會主席拉瑪特(Rahmat Shah)告訴中央社記者,有些動物園已在考慮,逼不得已的最後方法,只有犧牲草食性動物,來餵食肉食性動物。

國際新聞
印尼
動物園
展示動物
動物福利

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

※別再煩惱如何寫文案,掌握八大原則!

什麼是銷售文案服務?A就是幫你撰寫適合的廣告文案。當您需要販售商品、宣傳活動、建立個人品牌,撰寫廣告文案都是必須的工作。

8萬內家用必選的三台自主好車 買了就賺了_如何寫文案

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

擁有後台管理系統的網站,將擁有強大的資料管理與更新功能,幫助您隨時新增網站的內容並節省網站開發的成本。

8L發動機最大功率137馬力,最大扭矩186牛米。變速箱上1。5T車型均匹配6MT變速箱,而1。8L車型匹配5MT/6MT/5擋AMT變速箱。除了AMT車型之外手動擋車型的動力表現比較好。東風風行-風行S500指導價:5。99-9。99萬風行S500作為寶駿730爭鋒相對的對手,其實力也不容小覷,S500的外觀尺寸為4620*1810*1720mm,這樣的尺寸雖然不算大,但是2750mm的軸距還是保證了較大的內部空間。

常常有人問小編,8萬內買什麼車好呢?比較傾向於自主車型,因為它們性價比很高,做工也比較好,在這價位中自主車更加顯檔次,的確如此,那麼這三款8萬內的自主車型一定要考慮了。

奇瑞汽車-艾瑞澤5

指導價:5.89-9.79萬

艾瑞澤5的外觀屬於短頭短尾的造型設計,整體大氣精緻,細節設計比較考究,能夠反映出奇瑞比較高的設計水平,艾瑞澤5的外觀在這個價位車型屬於比較漂亮精緻的類型了,艾瑞澤5的車身尺寸為4572*1825*1482mm,軸距為2670mm,這樣的尺寸屬於標準緊湊型車型,但是2670mm的軸距比較的長,實際內部空間還不錯。

艾瑞澤5的內飾屬於大氣精緻的設計風格,整體十分耐看,做工也讓人滿意,雖然用料多以硬塑料為主,但是並沒有廉價感,艾瑞澤5全系使用1.5L發動機,

※教你寫出一流的銷售文案?

銷售文案是什麼?A文案是廣告用的文字。舉凡任何宣傳、行銷、販賣商品時所用到的文字都是文案。在網路時代,文案成為行銷中最重要的宣傳方式,好的文案可節省大量宣傳資源,達成行銷目的。

最大功率116馬力,最大扭矩380牛米,匹配5擋手動/CVT變速箱,動力表現較弱,車輛的行駛質感倒是不錯,底盤偏向硬朗。

上汽通用五菱-寶駿560

指導價:6.98-9.48萬

寶駿560是我們十分熟悉的一款車型了,外觀上設計的一般般,屬於沒什麼顏值的產品,當然4620*1820*1750mm的車身尺寸算是比較大的了,再加上2750mm軸距,寶駿560的內部空間十分寬敞。

寶駿560的內飾十分有寶駿的家族風格,在內飾上560的做工十分規整,不過和艾瑞澤5一樣,用料同樣以硬塑料為主,560搭載1.5T/1.8L兩款發動機,其中1.5T發動機最大功率150馬力,最大扭矩230牛米。1.8L發動機最大功率137馬力,最大扭矩186牛米。變速箱上1.5T車型均匹配6MT變速箱,而1.8L車型匹配5MT/6MT/5擋AMT變速箱。除了AMT車型之外手動擋車型的動力表現比較好。

東風風行-風行S500

指導價:5.99-9.99萬

風行S500作為寶駿730爭鋒相對的對手,其實力也不容小覷,S500的外觀尺寸為4620*1810*1720mm,這樣的尺寸雖然不算大,但是2750mm的軸距還是保證了較大的內部空間。

而風行S500相比較寶駿730一大優勢便在於自動擋車型採用CVT變速箱,比寶駿730的AMT在可靠性和運行表現上都好不少。S500採用1.5L(120馬力,143牛米)和1.6L(122馬力,151牛米)兩款發動機,1.5L車型全部匹配5MT變速箱,而1.6L車型則有5MT和CVT變速箱可供選擇。總體動力表現偏弱,這也和發動機輸出偏弱有關。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

※別再煩惱如何寫文案,掌握八大原則!

什麼是銷售文案服務?A就是幫你撰寫適合的廣告文案。當您需要販售商品、宣傳活動、建立個人品牌,撰寫廣告文案都是必須的工作。