天天看點

Keras 将被添加到谷歌 TensorFlow 成為預設 API

在reddit的一條評論中,keras 的作者、谷歌ai研究員francois chollet宣布了一條激動人心的消息:keras将會成為第一個被添加到tensorflow核心中的進階别架構,這将會讓keras變成tensorflow的預設api。

Keras 将被添加到谷歌 TensorFlow 成為預設 API

背景介紹:keras是一個進階别的python神經網絡架構,能在 tensorflow 或者 theano 上運作。此外,能用到tensorflow上的還有一些進階别的python神經網絡架構,比如,tf-slim,雖然它們發展更不完善,也不是tensorflow的核心部分。

神經網絡研究者rachel thomas在fast.ai上撰文介紹了這一消息,并寫下了他使用tensorflow的心得體會:

他說,使用tensorflow給我的感覺就是我還不夠聰明,但是,在使用keras的時候我會覺得神經網絡要比我想象的簡單。這是因為,tensorflow的api過于冗長和混亂,也是因為keras擁有我體驗過的最貼心的、最具表達力的api。對我來說,在剛開始使用tensorflow受挫後就來公開批評它有點尴尬,它讓人覺得沉重、不自然。當然,其中有我自己的原因。但是,keras和theano确實證明了我的想法:tensors和神經網絡不一定都是那麼折磨人的。

在一次大學作業中,我曾經使用一個硬體描述語言,通過添加和改變cpu暫存器中的位元組來編碼除法(division)。這是一個很有趣的練習,但是我非常确定,我不想用這種方式對神經網絡進行編碼。使用一個更進階别的語言的好處是顯而易見的:更快地編碼、更少的bug,以及,更少的痛苦。keras的好處還有更多——它更适配神經網絡的概念,能促進新的發現。keras讓我更加擅長神經網絡,因為語言抽象與神經網絡的概念搭配得更加好。

使用與我的思維相同的概念語言寫程式,能讓我把注意力集中在需要解決的難題上,而不是程式設計語言的僞迹上。因為,當我把更多的精力花在頭腦中的思維與程式設計語言之間的概念轉換的時候,我的思考就會變慢。tensorflow影響了我的生産力。

正如chollet所寫:“如果你想要長期使用一個更進階别的面向對象的tf api,karas就是正确的道路。”