在頂級機器學(xué)習(xí)開源項目中,TensorFlow憑借著其完整性、易用性、活躍度以及76.2K的Star榮登榜首。作為最受歡迎的開源機器學(xué)習(xí)項目之一,TensorFlow 1.4版本的最近更新有很大變化,新功能甚至是一些bug修復(fù)。
Jeff Dean在第一屆年度TensorFlow開發(fā)者峰會上表示,當谷歌開源TensorFlow時,希望為全球所有人建立一個機器學(xué)習(xí)平臺。他們在實現(xiàn)這一目標方面做得很好,TensorFlow無疑是GitHub上最受歡迎的機器學(xué)習(xí)項目。
讓我們來看看1.4版本具備哪些新功能吧!
Keras
TensorFlow 1.4版本最大的變化之一就是新增了對流行機器學(xué)習(xí)框架Keras的支持。Keras已經(jīng)從核心包tf.keras中分離出來,高級API旨在最大限度減少想法和工作實施之間的時間。它還與其他TensorFlow API(包括Estimator API)順利集成。由于Keras現(xiàn)在是TensorFlow核心的一部分,因此可以依靠其生產(chǎn)工作流程。(了解Keras,歡迎訪問https://keras.io/#getting-started-30-seconds-to-keras)
數(shù)據(jù)集
這是另一個可以跳轉(zhuǎn)到核心軟件包的API:tf.data。Dataset API已經(jīng)同步到1.4版,并為Python生成器提供了額外支持。
未來,TensorFlow團隊強烈建議使用Dataset API為TensorFlow模型創(chuàng)建輸入管道。因為它提供了比舊管道(如feed_dict或基于隊列的管道)更多的功能。它也有更好更全面的表現(xiàn)以及更簡潔,更容易使用。
此外,TensorFlow團隊明確表示,他們將重點關(guān)注Dataset API,以便將來的進一步開發(fā)而不是加速其他舊API。
Bug修復(fù)
現(xiàn)在默認的構(gòu)建選項包括Google云存儲文件系統(tǒng),Amazon S3文件系統(tǒng)和Hadoop文件系統(tǒng)。
自定義操作庫必須鏈接到libtensorflow_framework.so(安裝在tf.sysconfig.get_lib())。
tf.nn.rnn_cell.DropoutWrapper現(xiàn)在更加注意移除LSTM狀態(tài)。具體來說,它不再放棄LSTMStateTuple的c(內(nèi)存)狀態(tài)。這個bug修復(fù)遵循已發(fā)表文獻的建議,但有一些更改。狀態(tài)行為可以通過新的dropout_state_filter_visitor參數(shù)來定制。
重大更改
tf.contrib.data.rejection_resample()函數(shù)的簽名已更改?,F(xiàn)在它返回一個可以用作Dataset.apply()的參數(shù)的函數(shù)。
Removetf.contrib.data.Iterator.from_dataset()方法使用Dataset.make_initializable_iterator()代替。
刪除很少使用和不必要的tf.contrib.data.Iterator.dispose_op()。
已知問題
Datset.from_generator()不支持Python 3中的Unicode字符串。在從生成器生成字符串之前,程序員需要將字符串轉(zhuǎn)換為字節(jié)對象。
安裝TensorFlow 1.4
TensorFlow 1.4版本現(xiàn)可以使用標準的pip安裝。程序員也可以在GitHub和TensorFlow網(wǎng)站上找到它。(Github開源地址:https://github.com/tensorflow)