Tag Archives: TensorFlow

[ 翻譯 ] 2018.11.14- 網友大哉問:迴圈有許多種類型,TensorFlow中的tf.while_loop()是屬於哪一種呢?

翻譯

宗諭

審閱

阿吉老師

主題圖片

Designed by Starline

資料來源

TensorFlow官方論壇

 

Hello!讀者們好!又到我們的「網友大哉問」了。今天提出問題的網友是weich,他的問題是:

 

I have a question about tf.while_loop(). Is this sequential loop or parallel loop.

我有一個關於tf.while_loop()的問題。tf.while_loop()是循序迴圈(Sequential Loop),或是平行迴圈(Parallel Loop)?

 

Take the example from tensorflow document. Since the current iteration depends on the last iteration through the `i` in the code. I am wondering if the loop body executes one by one as a pure sequential loop?

以TensorFlow文件中的程式為例,既然現在正在執行的迭代是根據上一個迭代,也就是透過程式碼中的「i」,我好奇的是,是否迴圈主體是一行程式接著一行程式執行呢?如同存粹地循序迴圈?

 

(weich提到的程式碼)

i = tf.constant(0)
c = lambda i: tf.less(i, 10)
b = lambda i: tf.add(i, 1)
r = tf.while_loop(c, b, [i])

 

約莫兩天後,另外一位網友zhenhailiu回覆了:

 

Two op instances from different iterations can be computed simultaneously, as long as there is no direct or indirect data dependency or control dependency between them. The iterations in this while_loop can be paralleled. In some cases, iterations in a while_loop cannot be paralleled, typically when there are multiple iteration variable.

來自不同迭代的兩個實例(Instance)可以同時進行運算,只要它們之間沒有直接或間接的資料依賴關係,或控制依賴關係。而在這個tf.while_loop()中的迭代,可以是平行的。但在一些情況下,在while_loop()中的迭代,不可以是平行的。一般來說,當while_loop()中有多個迭代變數時,while_loop()中的迭代便不可以是平行的。

 

讀者們覺得這樣的回覆如何呢?歡迎留下您們的意見或想法,謝謝。

 

備註:如果想要購買AI人工智慧相關產品,請洽機器人王國商城,謝謝。

 

相關文章

[ 翻譯 ] 2018.10.24-網友大哉問:TensorFlow 2.0的硬體需求是什麼?

翻譯、改寫

宗諭

審閱

阿吉老師

主題圖片

Designed by Creativeart 

說明取材自TensorFlow論壇內,網友的提問和回覆,特此感謝授權!

 

在之前我們團隊翻譯的文章中,有提到TensorFlow 2.0將於今年下半年發佈。最近看到TensorFlow的官方論壇中有一位網友Thomas提問:「我考慮入手一個NVIDIA GPU,所以,想知道TensorFlow 2.0的硬體需求?」

 

There will be no change over time we will drop support for compute capabilities as NVIDIA drops support as CUDA versions increase.  It all as to do with budget.  GTX 1080TIs are pretty great cards with a nice amount of memory.  The RTX cards look cool but I have not purchased one for any type of testing yet.  Many of us still use GTX 1080 (non ti) cards and some of us use the Titan V ($3K+taxes) and some Titan XP.  I have not seen performance numbers from the RTX cards but I suspect they may match the Titan V.  Our workstations are very behind on device drivers so we have to watch out for that as well.

 

隔了不久,TensorFlow團隊的Toby大大便有以下回覆:

「由於NVIDIA不再支援後續版本的CUDA,我們也一樣不再支援其運算能力。您提出的問題主要和預算有關,GTX 1080TIs是相當棒的顯示卡,記憶體也很夠。RTX顯示卡應該也很棒,但我尚未購買過任何一款RTX顯示卡進行測試。許多團隊成員應該還在使用GTX 1080顯示卡(不是GTX 1080TI),一部分成員使用Titan V(費用約3000美金加上稅金),另外一些成員使用Titan XP。我還沒瀏覽過RTX顯示卡的效能評比,但我猜RTX顯示卡的效能應該和Titan V差不多。我們的工作站的驅動程式有點舊,所以這方面還要多注意一下。」

 

Since you went into the specifics of cards, it seems to me that the RTX 2080 Ti is a great choice, even *better than some Teslas. The only spec that is dramatically worse compared to Teslas is the memory bus width, from a quick look at this monster table. It seems to me that a beefy computer with a few RTXs should be enough even for a small ML team. Also, I feel like Titan is a bit of an overstretch, unless I am missing out on important Volta/Turing architecture differences.

 

過了一陣子,Thomas回覆道:

「既然您提到了顯示卡的規格,對我來說RTX 2080 Ti是個很棒的選擇,甚至比一些Tesla GPU更棒!相較於Tesla GPU,唯一明顯較差的硬體規格是記憶體匯流排寬度。對我來說,一台搭載了幾張RTX顯示卡的運算能力強大的電腦對於小型的機器學習團隊應該很夠用了。此外,我覺得,TITAN系列顯示卡的效能有點誇大,除非我忽略掉一些Volta/Turing架構上的差異。」

 

以上是一些關於TensorFlow 2.0硬體需求與硬體規格的討論,盼望對讀者們有幫助。日後若有關於TensorFlow重要的討論,我們會試著幫大家摘錄。

 

備註:如果您想要購買AI人工智慧相關的產品或教具,歡迎洽詢機器人王國商城。

 

相關文章

[ 翻譯 ] 2018.10.12-根據TensorFlow團隊,TensorFlow將於2020年1月起,停止支援Python 2

原文作者

TensorFlow團隊

圖片

截圖自https://python3statement.org/

網站,特此致謝!

翻譯宗諭審閱鈺莨
說明

感謝TensorFlow團隊的授權翻譯,特此致謝!

 

以下公告由Martin代表TensorFlow團隊發佈:

 

程式語言Python的開發者們,將於2020年1月1日停止支援Python 2.7(詳見此文)。

 

因此,TensorFlow專案也將停止支援Python 2,當Python 2的上游支援終止於2020年。在2020年1月1日後,團隊針對TensorFlow所有原始碼的改變,將不再需要相容於Python 2。總之,TensorFlow可能自2020年起,不再適用於Python 2。

 

這樣的改變將可簡化我們的程式碼,並且可使用Python 3.x標準函式中的新功能。

 

備註:如果您想購買AI人工智慧相關產品,歡迎洽詢機器人王國商城,謝謝。

 

相關文章

[ 翻譯 ] 2018.10.09- TensorFlow團隊發佈最新的TensorFlow模型最佳化工具包,一起來看看!

原文作者

TensorFlow團隊

圖片TensorFlow團隊提供

主題圖片:Designed by Freepik

翻譯宗諭審閱阿吉老師
說明

感謝TensorFlow團隊的授權翻譯,特此致謝!原文請見這裡

 

We are excited to introduce a new optimization toolkit in TensorFlow: a suite of techniques that developers, both novice and advanced, can use to optimize machine learning models for deployment and execution.

我們很高興向大家介紹:新的TensorFlow最佳化工具包,它包含了一整套的技術,不論您是入門或進階開發者都可運用這套工具包來最佳化機器學習模型的部署與執行。

 

While we expect that these techniques will be useful for optimizing any TensorFlow model for deployment, they are particularly important for TensorFlow Lite developers who are serving models on devices with tight memory, power constraints, and storage limitations. If you haven’t tried out TensorFlow Lite yet, you can find out more about it here.

我們期待這個工具包對於部署任何TensorFlow模型,都能做到最佳化,然而,這個工具包對TensorFlow Lite的開發者來說尤其重要!因為,TensorFlow Lite的開發者需要在裝置上運作模型,這些裝置不論在記憶體、電源與儲存容量上都更為吃緊。如果您尚未試用過TensorFlow Lite,可在這裡了解更多相關資訊。

 

The first technique that we are adding support for is post-training quantization to the TensorFlow Lite conversion tool. This can result in up to 4x compression and up to 3x faster execution for relevant machine learning models.

這個工具包加入的第一項技術是針對TensorFlow Lite轉換工具的訓練後量化(post-training quantization)功能。針對相關的機器學習模型,這項技術最高可達到4倍的壓縮率,並使執行速度最高加快3倍。

 

By quantizing their models, developers will also gain the additional benefit of reduced power consumption. This can be useful for deployment in edge devices, beyond mobile phones.

藉由量化模型,開發者也將因電源功耗減少而得到額外益處。這有助於部署模型在非手機範圍的邊緣裝置上。

 

Enabling post-training quantization

The post-training quantization technique is integrated into the TensorFlow Lite conversion tool. Getting started is easy: after building their TensorFlow model, developers can simply enable the ‘post_training_quantize’ flag in the TensorFlow Lite conversion tool. Assuming that the saved model is stored in saved_model_dir, the quantized tflite flatbuffer can be generated:

啟用訓練後量化

訓練後量化技術已被整合至TensorFlow Lite轉換工具中。如何開始使用呢?很簡單!在建立TensorFlow模型後,開發者只要在TensorFlow Lite轉換工具中啟用「post_training_quantize」旗標就可以了。假設我們把模型放在saved_model_dir 這個資料夾中,就能產生量化後的「tflite flatbuffer」:

converter=tf.contrib.lite.TocoConverter.from_saved_model(saved_model_dir)
converter.post_training_quantize=True
tflite_quantized_model=converter.convert()
open(“quantized_model.tflite”, “wb”).write(tflite_quantized_model)

 

Our tutorial walks you through how to do this in depth. In the future, we aim to incorporate this technique into general TensorFlow tooling as well, so that it can be used for deployment on platforms not currently supported by TensorFlow Lite.

我們的教學文件會詳細告訴您關於「訓練後量化」這項技術。未來,我們希望把這項技術也納入一般TensorFlow工具中,使它能部署於一些目前TensorFlow Lite尚未支援的平台上。

 

Benefits of post-training quantization

  • 4x reduction in model sizes

  • Models, which consist primarily of convolutional layers, get 10–50% faster execution

  • RNN-based models get up to 3x speed-up

  • Due to reduced memory and computation requirements, we expect that most models will also have lower power consumption

「訓練後量化」的效益:

  • 模型大小最高可減少4倍

  • 主要由卷積層所組成的模型,執行速度可加快10%-50%。

  • 以遞迴神經網路RNN為基礎的模型,最高可加速3倍。

  • 由於減低記憶體和低運算的要求日增,我們期待大多數的模型也能做到低功耗。

 

See graphs below for model size reduction and execution time speed-ups for a few models (measurements done on Android Pixel 2 phone using a single core).

關於降低模型大小與提高執行速度,請參考下面幾張圖表(使用Android Pixel 2 單核心手機)。

圖1 Model Size Comparison: Optimized models are almost 4x smaller 模型大小比較:最佳化後,模型大小幾乎小了4倍。

 

圖2 Latency Comparison: Optimized models are 1.2 to 1.4x faster 延遲比較:經過最佳化的模型加速1.2至1.4倍。

 

These speed-ups and model size reductions occur with little impact to accuracy. In general, models that are already small for the task at hand (for example, mobilenet v1 for image classification) may experience more accuracy loss. For many of these models we provide pre-trained fully-quantized models.

執行加速及降低模型大小對準確性影響不大。總體來說,原本就輕量化、專門針對行動裝置任務的模型(例如用於影像分類的mobilenet v1),準確性可能會損失較多。針對前述這些模型,我們提供預先訓練好的全量化模型

圖3 Accuracy Comparison: Optimized models show negligible accuracy drop, except for mobilenets. 準確性比較:除了mobilenets外,其它最佳化後的模型,準確性幾乎沒有降低。

 

We expect to continue improving our results in the future, so please see the model optimization guide for the latest measurements.

我們未來會繼續改良。關於最新的量測結果請參考模型優化教學。

 

How post-training quantization works

Under the hood, we are running optimizations (otherwise referred to as quantization) by lowering the precision of the parameters (i.e. neural network weights) from their training-time 32-bit floating-point representations into much smaller and efficient 8-bit integer ones. See the post-training quantization guide for more details.

「訓練後量化」如何運作?

我們運作最佳化(又稱為量化)的方式,是藉由降低參數的精確性(例如,神經網路權重),使參數的模型訓練時間,從32位元浮點表示法降低為更小也更有效率的8位元整數。如果讀者想更深入了解,請參考「訓練後量化」教學。

 

These optimizations will make sure to pair the reduced-precision operation definitions in the resulting model with kernel implementations that use a mix of fixed- and floating-point math. This will execute the heaviest computations fast in lower precision, but the most sensitive ones with higher precision, thus typically resulting in little to no final accuracy losses for the task, yet a significant speed-up over pure floating-point execution. For operations where there isn’t a matching “hybrid” kernel, or where the Toolkit deems it necessary, it will reconvert the parameters to the higher floating point precision for execution. Please see the post-training quantization page for a list of supported hybrid operations.

這樣的最佳化,將確保在結果模型中精確性降低後的操作定義能符合內核實作,後者在實作混用了定點和浮點數學。這樣可在精確度較低的情況下做到最多的運算,但其中最敏感且精確性較高的模型,通常不會 (或僅微量)因此導致精確度降低,反之如果是純浮點數執行的話,執行速度則有顯著提升。針對非「混合型」內核的運算,或工具包認為有必要,「訓練後量化」會再將參數轉換為較高精度的浮點數。關於「訓練後量化」支援哪些混合運算,請參考「訓練後量化」網頁。

 

Future work

We will continue to improve post-training quantization as well as work on other techniques which make it easier to optimize models. These will be integrated into relevant TensorFlow workflows to make them easy to use.

未來改進

我們將持續改善「訓練後量化」技術,以及其它模型最佳化技術。而這些技術將被整合至相關的TensorFlow工作流程,使大家能夠更方便使用。

 

Post-training quantization is the first offering under the umbrella of the optimization toolkit that we are developing. We look forward to getting developer feedback on it.

這套還在開發中的最佳化工具包中,「訓練後量化」是我們推出的第一項技術。期待收到大家的回饋。

 

Please file issues at GitHub and ask questions at Stack Overflow.

 

請在GitHub提出你們的建議,並請在Stack Overflow詢問問題。

 

備註:若您想購買AI人工智慧相關產品,歡迎洽詢機器人王國商城

 

相關文章

[ AI人工智慧-神經運算 ] 淺談人工智慧實作,開源工具Tensorflow與安裝(Windows篇)

大家在網路、報章雜誌上是不是很常聽到AI人工智慧呢?2018年許多人在研究、開發AI的神經網路運算,您聽過神經網路運算嗎?今天與讀者們快速分享一些AI、神經網路運算資訊,以及我們設計人工神經網路實作課程時,在Windows系統上使用的一些工具。

作者/攝影

CAVEDU教育團隊 徐豐智

文章分類教學技術文
時間30分鐘
成本電腦
難度

**

材料表Window 10 作業系統

說到人工智慧,相關技術的人會想到機器視覺、自然語言⋯⋯等等專有名詞,今天與讀者們分享的AI課程,是神經網路運算的相關實作。

 

Google的Deepmind團隊使用了Alpha GO 挑戰世界棋王獲勝的事,大家還記得嗎?(快速回憶AlphaGO-連結,這項成果該團隊使用的是神經網路運算技術,工具是Tensorflow。Gmail的垃圾郵件判讀、Google相簿臉部識別、Google翻譯,Google在Tensorflow上以Opensource的方式開放出來,大家可按照自己想做的AI案例收集樣本資料,訓練AI判斷的模型。

 

今年九月起,CAVEDU教育團隊與微軟合作設計AI課程(微軟技術中心上機實作課程-人工智慧實務工作坊:故事連結基於這次經驗,與大家分享如何在Windows作業系統下,安裝AI相關工具套件。我們先介紹現在的AI實作上的一些分類,接著是Tensorflow與keras、Opencv等環境安裝教學。

 

淺談人工智慧實作

首先,有幾種與運算效能不強的硬體整合的AI方式(想直接安裝Tensorflow,可跳過這一段)。

 

一、使用物聯網將判斷交給雲端處理,並將處理結果回傳

終端裝置(樹莓派、Linkit7688⋯⋯)負責收集影像、語音資料,將這些影像、語音資料上傳至雲端AI(Google、Azure、IBM bluemix⋯⋯等),雲端AI判斷後,將判斷結果回傳至終端裝置,終端裝置再進行動作。

 

A、微軟認知服務,解析人的年齡、性別、情緒實作教學連結

 

B、Google語音助理的服務,將聲音上傳到Google,交由雲端處理(實作教學連結、影片連結)

 

C、IBM Bluemix服務做TJBOT聊天機器人(實作教學連結)

 

二、使用Opensouce的工具,建立自己的AI專案,訓練AI

建立判斷AI的工具,透過AI工具提供的演算法和判斷方法,收集相關資料(比如說,透過圖片判斷動物園的動物種類),訓練AI,提高AI的的推理能力(從可分別猩猩和大象的差別,提升至可分別猩猩和獼猴的差別)。

 

A、Tensorflow與keras的機器學習工具(相關文章連結)

 

B、Caffe的機器學習工具(相關文章連結)

 

三、邊緣運算、智慧邊緣:

結合訓練的AI,將運算交給終端裝置(手機、樹梅派⋯⋯等等),解決將資料傳給雲端,再回傳資料導致的延遲。(比如說,汽車上的AI,如果因網路不順,導致判斷過慢發生車禍等意外;又或者在製造業使用的機器手臂,判斷過慢導致產線的良率不穩。)

 

A、Nvidia的GPU顯示卡,幫助電腦運算

 

B、Intel的低功耗加速AI推理的運算棒(相關文章連結)

 

在Windows上安裝TensorFlow的環境

我們要開在Windows作業系統上安裝Tensorflow的教學。請將安裝的電腦,額外預留5GB的硬碟容量以安裝相關軟體。

 

安裝順序:

一、安裝Anaconda環境

二、建立獨立的Anacoonda(Python)虛擬環境

三、安裝TensorFlow 、 Keras、Opencv

四、執行手寫辨識範例

 

一、安裝Anaconda環境

對AI初學者來說,安裝TensorFlow環境、使用的套件雜亂,相互不匹配,是第一道難關。但Anaconda可將這件事變得很單純,因為Anaconda除了支援Windows,也支援Mac、Linux作業系統。之後有空,再跟大家分享在Windows App上安裝ubuntu作業系統。

 

請先至Anaconda網站上下載軟體,點選下圖左邊的Windows選項

https://www.anaconda.com/download/

圖1

 

選擇下載的安裝環境,有Python3、2兩種版本。因為許多的AI範例使用Python3,建議使用Python 3。並依照電腦規格,選擇64位元 / 32位元的版本下載。

圖2

 

點選下載的檔案,開始安裝,點選下一步、同意。

圖3

 

圖4

 

選擇是否只安裝在這一個Windows的帳號

圖5

 

決定安裝路徑。因為之後會訓練資料,請讀者們盡量選擇讀寫速度較快的硬碟。

圖6

 

點選加入Windows的環境變數(可不選,能讓Windows的CMD視窗也可以呼叫Anaconda),預設使用Python3.6。

圖7

 

安裝完成後,在開始的列表會出現Anaconda的相關工具。

圖8

 

二、建立獨立的Anacoonda(Python)虛擬環境

Python有許多相依的套件,建議讀者們在做不一樣的Python套件實測試時,可重新建立新的環境,每個新的環境會依照名稱顯示。

 

下圖是我建立兩個環境,分別命名為testlesson1、testtensorflow。

圖9

 

首先,在本機磁碟(C),新增一個資料夾[testAI],以便管理環境中的檔案,點選[Anaconda Prompt]。

圖10

 

圖11

 

指令:移動至資料夾[testAI]

>cd \testAI
圖12

 

指令:建立Anaconda環境

>conda create --name testAI python=3.6 anaconda

 

指令功能:

conda create:建立虛擬環境

-name testAI:環境名稱,取名為testAI

python=3.6:Python的版本為3.6

anaconda:建立環境時,會把Python相關的套件也一起安裝,例如:NumPy、SciPy等常用的套件,也有Jupyter Notebook。

圖13

 

Anaconda會詢問你該虛擬環境是否安裝這些套件,輸入指令y

>y
圖14

 

圖15

 

安裝完成後,您可以用下列兩個指令開啟 / 關閉虛擬環境:

>conda activate testAI

>conda deactivate
圖16

 

若成功開啟虛擬環境,命令列最左方的顯示會由(base)改為(testAI)。

圖17

 

三、安裝TensorFlow 、 Keras、Opencv

接著,我們要安裝一些訓練AI模型的套件,這些都是python相關的套件,您可以用pip安裝,也可以用conda安裝。

 

安裝Python的Tensorflow套件:

>conda install tensorflow
圖18

 

圖19

 

安裝Python的keras套件:

>conda install keras
圖20

 

圖21

 

安裝Python的opencv套件:

>conda install opencv
圖22

 

圖23

 

套件安裝的差不多了。如果您有想要訓練的資料集、執行的程式,可以放在資料夾[testAI]裡。

圖24

 

接著移動至指定的資料夾:

cd ./ms-agv-car-master/keras_source

 

回到上一層資料夾:

cd ..

 

指令功能:

cd .\ai-car\keras_source:移動資料夾到ai-car\keras_source

cd .. :回到上一層資料夾

五、執行手寫辨識範例

最後,我們執行一個訓練資料的手寫辨識範例,確認Tensorflow系統環境都沒有問題。

(資源來自keras中文文檔https://keras-cn.readthedocs.io/en/latest/

 

首先,安裝git套件。

>conda install git
圖26

 

圖27

 

接下來:

1、透過git下載keras的範例

git clone https://github.com/fchollet/keras.git

 

2、移動到範例資料夾

> cd ./keras/examples/

 

3、執行手寫辨識訓練資料,若執行未出現錯誤,恭喜您已安裝成功,可不用等待程式執行完畢,[Ctrl+C]直接跳出訓練畫面

> python mnist_mlp.py
圖28

 

今天的分享至此結束。盼望這篇文章能給讀者們一些幫助,下次見!

 

相關文章

[ 翻譯 ] 2018.08.03-根據TensorFlow團隊,TensorFlow 1.9正式支援樹莓派

原文作者

Pete Warden

圖片

CAVEDU教育團隊

翻譯宗諭審閱吉弘
說明

感謝作者Pete Warden的授權翻譯,特此致謝!

When TensorFlow was first launched in 2015, we wanted it to be an “open source machine learning framework for everyone”. To do that, we need to run on as many of the platforms that people are using as possible. We’ve long supported Linux, MacOS, Windows, iOS, and Android, but despite the heroic efforts of many contributors, running TensorFlow on a Raspberry Pi has involved a lot of work. Thanks to a collaboration with the Raspberry Pi Foundation, we’re now happy to say that the latest 1.9 release of TensorFlow can be installed from pre-built binaries using Python’s pip package system! If you’re running Raspbian 9 (stretch), you can install it by running these two commands from a terminal:

當TensorFlow於2015年首次發佈時,我們希望它是一個「給所有人的開源機器學習框架」。爲要達成這一點,我們需要盡可能讓它在更多人們使用的平台上運作,所以,我們長期以來支援了Linux、MacOS、Windows、iOS及Android等作業系統。然而,儘管許多貢獻者已經貢獻卓越,在Raspberry Pi上運行TensorFlow仍有許多工作需要完成。感謝與Raspberry Pi基金會的合作,我們現在很高興能宣佈:最新的TensorFlow 1.9版,可透過Python的pip套件系統來安裝建置好的二元檔了!若您正使用Raspbian 9(Raspbian stretch),只要從終端機輸入下面這兩道指令來安裝它:

 

sudo apt install libatlas-base-dev
pip3 install tensorflow

 

You can then run python3 in a terminal, and use TensorFlow just as you would on any other platform. Here’s a simple hello world example:

接下來,您可在終端機上運作python3,並如同在任何其它平台上一樣使用TensorFlow。下面是一個簡單的hello world範例:

 

# Python
import tensorflow as tf
tf.enable_eager_execution()
hello = tf.constant(‘Hello, TensorFlow!’)
print(hello)

 

If the system outputs the following, then you are ready to begin writing TensorFlow programs:

Hello, TensorFlow!

如果看到以下內容:Hello, TensorFlow!, 那您便可開始編寫TensorFlow的程式。

 

There are more details on installing and troubleshooting TensorFlow on the Raspberry Pi on the TensorFlow website.

更多細節,請參考TensorFlow官網上的內容

 

We’re excited about this because the Raspberry Pi is used by many innovative developers, and is also widely used in education to introduce people to programming, so making TensorFlow easier to install will help open up machine learning to new audiences. We’ve already seen platforms like DonkeyCar use TensorFlow and the Raspberry Pi to create self-driving toy cars, and we can’t wait to discover what new projects will be built now that we’ve reduced the difficulty.

我們對這件事感到很興奮,因為Raspberry Pi早已被許多創新開發者使用著,也被廣泛應用於教育領域來推廣程式教育。所以,讓TensorFlow更容易安裝於Raspberry Pi上,將有助於新朋友認識何謂機器學習。我們已經看到像 DonkeyCar 這樣的平台使用TensorFlow與Raspberry Pi來做出能夠自動駕駛的玩具小車。我們也迫不及待想知道,在使用難度降低之後,會有哪些新專案誕生。

 

Eben Upton, founder of the Raspberry Pi project, says, “It is vital that a modern computing education covers both fundamentals and forward-looking topics. With this in mind, we’re very excited to be working with Google to bring TensorFlow machine learning to the Raspberry Pi platform. We’re looking forward to seeing what fun applications kids (of all ages) create with it,” and we agree!

Raspberry Pi創辦人Eben Upton表示:「現今的電腦程式教育必須涵蓋基礎知識與前瞻性的主題。考慮到這一點,我們非常興奮能與Google合作,將TensorFlow機器學習引入Raspberry Pi平台。我們期待看見所有年齡層的孩子們能運用它來打造各種有趣的應用。」這,我們完全同意!

 

We’re hoping to see a lot more educational material and tutorials emerge that will help more and more people explore the possibilities of machine learning on such a cost-effective and flexible device.

我們深切盼望看見更多教材和教學資源問世,幫助更多人在Raspberry Pi這款高CP值又具備擴充彈性的裝置上探索機器學習的各種可能性。

 

備註:若您想要購買樹莓派,可以前往機器人王國商城,謝謝。

 

相關文章

[翻譯] 2018.8.14-根據TensorFlow團隊,TensorFlow 2.0預覽版預計於下半年發佈(繁、簡中文版)

原文作者

Martin Wicke

發佈時間

原文發佈日期:2018年8月14日

翻譯宗諭審閱吉弘
說明

轉載自TensorFlow團隊社群內的公開公告,非常感謝TensorFlow團隊的授權翻譯,特此致謝!

Since the open-source release in 2015, TensorFlow has become the world’s most widely adopted machine learning framework, catering to users and use-cases. In this time, TensorFlow has evolved along with rapid developments in computing hardware, machine learning research, and commercial deployment.

 

自從TensorFlow於2015年以開放原始碼形式發佈後,已成為全球最廣為採用的機器學習框架,提供給廣泛的使用者及案例。時至今日,TensorFlow也隨著運算硬體、機器學習研究及商用部署的快速發展而不斷進化。

 

自从TensorFlow于2015年以开放原始码形式发布后,已成为全球最广为采用的机器学习框架,提供给广泛的使用者及案例。时至今日,TensorFlow也随着运算硬体、机器学习研究及商用部署的快速发展而不断进化。

 

Reflecting these rapid changes, we have started work on the next major version of TensorFlow. TensorFlow 2.0 will be a major milestone, with a focus on ease of use. Here are some highlights of what users can expect with TensorFlow 2.0:

  • Eager execution will be a central feature of 2.0. It aligns users’ expectations about the programming model better with TensorFlow practice and should make TensorFlow easier to learn and apply.
  • Support for more platforms and languages, and improved compatibility and parity between these components via standardization on exchange formats and alignment of APIs.
  • We will remove deprecated APIs and reduce the amount of duplication, which has caused confusion for users.

 

爲回應這股快速變遷的趨勢,我們(TensorFlow團隊)已開始研發TensorFlow下一個主要版本。TensorFlow 2.0將會是重要的里程碑,著眼於讓大家更容易使用。以下是一些使用者可期盼的焦點:

  • Eager execution將會是0版本的中心特色,它能滿足使用者對於實做更棒的程式模型的期待,並且應該會使TensorFlow更易於學習及應用。
  • 支援更多的平台及語言,亦改善了相容性,並且透過交換格式及API調整的標準化,在這些元件中取得平衡。
  • 我們將會移除已棄用的API,並且降低重複性,避免造成使用者混淆。

 

为回应这股快速变迁的趋势,我们(TensorFlow团队)已开始研发TensorFlow下一个主要版本。 TensorFlow 2.0将会是重要的里程碑,着眼于让大家更容易使用。以下是一些使用者可期盼的焦点:

  • Eager execution将会是0版本的中心特色,它能满足使用者对于实做更棒的程式模型的期待,并且应该会使TensorFlow更易于学习及应用。
  • 支援更多的平台及语言,亦改善了相容性,并且透过交换格式及API调整的标准化,在这些元件中取得平衡。
  • 我们将会移除已弃用的API,并且降低重复性,避免造成使用者混淆。

 

We are planning to release a preview version of TensorFlow 2.0 later this year.

 

我們預計於2018年下半年發佈TensorFlow 2.0的預覽版本。

 

我们预计于2018年下半年发布TensorFlow 2.0的预览版本。

 

Public 2.0 design process

Shortly, we will hold a series of public design reviews covering the planned changes. This process will clarify the features that will be part of TensorFlow 2.0, and allow the community to propose changes and voice concerns. Please join developers@tensorflow.org if you would like to see announcements of reviews and updates on process. We hope to gather user feedback on the planned changes once we release a preview version later this year.

 

公開的 TensorFlow 2.0設計程序

簡而言之,我們將針對已在計劃中的更新有一系列的「公開設計評論」。這個過程會說明那些即將納入TensorFlow 2.0中的功能,並且允許社群提出修改且表達關切。若您想得知評論的公告與設計過程的進展,請加入developers@tensorflow.org。一旦預覽版本於2018年下半年發佈之後,我們期盼收到使用者對於計畫中的更新的回饋意見。

 

公开的 TensorFlow 2.0设计程序

简而言之,我们将针对已在计划中的更新有一系列的「公开设计评论」。这个过程会说明那些即将纳入TensorFlow 2.0中的功能,并且允许社群提出修改且表达关切。若您想得知评论的公告与设计过程的进展,请加入developers@tensorflow.org。一旦预览版本于2018年下半年发布之后,我们期盼收到使用者对于计画中的更新的回馈意见。

 

Compatibility and continuity

TensorFlow 2.0 is an opportunity to correct mistakes and to make improvements which are otherwise forbidden under semantic versioning.

 

相容性與連續性

TensorFlow 2.0的發佈是一個改正錯誤的好機會,並且針對在semantic versioning下被禁止的部分作出改善。

 

相容性与连续性

TensorFlow 2.0的发布是一个改正错误的好机会,并且针对在semantic versioning下被禁止的部分作出改善。

 

To ease the transition, we will create a conversion tool which updates Python code to use TensorFlow 2.0 compatible APIs, or warns in cases where such a conversion is not possible automatically. A similar tool has helped tremendously in the transition to 1.0.

 

為減緩過渡時期的衝擊,我們將提供一個轉換工具,它具備兩項功能:(1)更新Python程式碼得以使用相容於TensorFlow 2.0的API;(2)假如轉換無法完全自動完成時,將發出警告。類似的工具在當年轉換到Tensorflow1.0版時可真是幫了大忙呢。

 

为减缓过渡时期的冲击,我们将提供一个转换工具,它具备两项功能:(1)更新Python程式码得以使用相容于TensorFlow 2.0的API;(2)假如转换无法完全自动完成时,将发出警告。类似的工具在当年转换到Tensorflow1.0版时可真是帮了大忙呢。

 

Not all changes can be made fully automatically. For example, we will be deprecating APIs, some of which do not have a direct equivalent. For such cases, we will offer a compatibility module (tensorflow.compat.v1) which contains the full TensorFlow 1.x API, and which will be maintained through the lifetime of TensorFlow 2.x.

 

並非所有的更新皆可全部自動完成。例如以棄用API來說,有些將要被棄用的API並沒有一個直接可對應的應用程式去處理。針對這樣的情況,我們將提供一套相容性模組(tensorflow.compat.v1),包含完整的TensorFlow 1.x API,並且確保它在TensorFlow 2.0的產品週期中被維護。

 

并非所有的更新皆可全部自动完成。例如以弃用API来说,有些将要被弃用的API并没有一个直接可对应的应用程式去处理。针对这样的情况,我们将提供一套相容性模组(tensorflow.compat.v1),包含完整的TensorFlow 1.x API,并且确保它在TensorFlow 2.0的产品周期中被维护。

 

We do not anticipate any further feature development on TensorFlow 1.x once a final version of TensorFlow 2.0 is released. We will continue to issue security patches for the last TensorFlow 1.x release for one year after TensorFlow 2.0’s release date.

 

一旦TensorFlow 2.0最終版本發佈後,就不會在開發任何TensorFlow 1.x的功能了。我們將在TensorFlow 2.0發佈一年之內,針對TensorFlow 1.x的最新版持續提供安全性修正程式(Security Patch)。

 

一旦TensorFlow 2.0最终版本发布后,就不会在开发任何TensorFlow 1.x的功能了。我们将在TensorFlow 2.0发布一年之内,针对TensorFlow 1.x的最新版持续提供安全性修正程式(Security Patch)。

 

On-disk compatibility

We do not intend to make breaking changes to SavedModels or stored GraphDefs (i.e., we plan to include all current kernels in 2.0). However, the changes in 2.0 will mean that variable names in raw checkpoints might have to be converted before being compatible with new models.

 

儲存的相容性

我們無意針對SavedModels或儲存的GraphDefs做出大幅度的修改。(例如,我們想在TensorFlow 2.0中納入所有現行的核心。)然而,在TensorFlow 2.0中的更新代表在原始檢查點中的變數名稱,在順利相容於新模型前可能需要進行轉換。

 

储存的相容性

我们无意针对SavedModels或储存的GraphDefs做出大幅度的修改。 (例如,我们想在TensorFlow 2.0中纳入所有现行的核心。)然而,在TensorFlow 2.0中的更新代表在原始检查点中的变数名称,在顺利相容于新模型前可能需要进行转换。

 

tf.contrib

TensorFlow’s contrib module has grown beyond what can be maintained and supported in a single repository. Larger projects are better maintained separately, while we will incubate smaller extensions along with the main TensorFlow code. Consequently, as part of releasing TensorFlow 2.0, we will stop distributing tf.contrib. We will work with the respective owners on detailed migration plans in the coming months, including how to publicise your TensorFlow extension in our community pages and documentation. For each of the contrib modules we will either a) integrate the project into TensorFlow; b) move it to a separate repository or c) remove it entirely. This does mean that all of tf.contrib will be deprecated, and we will stop adding new tf.contrib projects today. We are looking for owners/maintainers for a number of projects currently in tf.contrib, please contact us (reply to this email) if you are interested.

 

tf.contrib

TensorFlow的contrib模組的規模已超過可在單一版本庫中維護並支援的程度。較大的專案最好是獨立維護,同時我們會讓較小的擴充檔去跟著TensorFlow主線去走。結論是,作為發佈TensorFlow 2.0過程的一部分,我們將停止發佈tf.contrib。我們會在這幾個月之內針對個別擁有者去敲定遷移的細節,包括如何在我們的社群網頁和文件中宣傳您的TensorFlow擴充。針對每一個補充支援模組,我們將採取以下三項措施中的一項:

(a)整合專案進TensorFlow中;

(b)移至另外的版本庫,或

(c)將它整個移除。

這代表所有的tf.contrib未來都不會再使用,並且從今天起就不再允許加入新的補充支援模組專案。我們對目前tf.contrib的某些專案正在徵求維護者,如果您有興趣的話請和我們連繫(announce@tensorflow.org)。

 

tf.contrib

TensorFlow的contrib模组的规模已超过可在单一版本库中维护并支援的程度。较大的专案最好是独立维护,同时我们会让较小的扩充档去跟着TensorFlow主线去走。结论是,作为发布TensorFlow 2.0过程的一部分,我们将停止发布tf.contrib。我们会在这几个月之内针对个别拥有者去敲定迁移的细节,包括如何在我们的社群网页和文件中宣传您的TensorFlow扩充。针对每一个补充支援模组,我们将采取以下三项措施中的一项:

(a)整合专案进TensorFlow中;

(b)移至另外的版本库,或

(c)将它整个移除。

这代表所有的tf.contrib未来都不会再使用,并且从今天起就不再允许加入新的补充支援模组专案。我们对目前tf.contrib的某些专案正在征求维护者,如果您有兴趣的话请和我们连系(announce@tensorflow.org)。

 

Next steps

For questions about development of or migration to TensorFlow 2.0, contact us at discuss@tensorflow.org. To stay up to date with the details of 2.0 development, please subscribe to developers@tensorflow.org, and participate in related design reviews.

 

下一步

針對TensorFlow 2.0的開發或轉的的相關問題,請來信discuss@tensorflow.org 詢問。若想要得知TensorFlow 2.0的最新進度,請訂閱developers@tensorflow.org ,並且參與相關的設計評論,謝謝。

 

下一步

针对TensorFlow 2.0的开发或转的的相关问题,请来信discuss@tensorflow.org 询问。若想要得知TensorFlow 2.0的最新进度,请订阅developers@tensorflow.org ,并且参与相关的设计评论,谢谢。

 

On behalf of the TensorFlow team,

Martin

 

謹代表全體TensorFlow團隊

Martin

 

谨代表全体TensorFlow团队

Martin

 

相關文章