Тхеано вс ТенсорФлов: брзо упоређивање оквира



Овај чланак о Тхеано-у против ТенсорФлов-а пружиће вам кратко и прецизно поређење између два оквира и помоћи ће вам да одаберете онај који вам одговара.

Ера Дубоко учење и је на врхунцу. То ће створити 2,3 милиона Послови до 2020. Са новим оквирима који се појављују сваког месеца, ТенсорФлов и Тхеано су тамо већ неко време и такође су стекли добру популарност. Дакле, у овом чланку Тхеано вс ТенсорФлов, разговараћу о следећим темама:

Шта је Тхеано?

Тхеано се може дефинисати као библиотека за Научно рачунарство . Развио га је Университе де Монтреал и доступан је од 2007. године.





theano-logo

бацање дубла у инт јаву

Омогућава вам ефикасно дефинисање, оптимизацију и процену математичких израза који укључују вишедимензионалне низове. Може да ради и на ЦПУ и на ГПУ.



Шта је ТенсорФлов?

ТенсорФлов је софтверска библиотека отвореног кода компаније Гоогле Браин за програмирање протока података за низ задатака.

То је симболична математичка библиотека која се користи за апликације машинског учења попут .



Тхеано вс ТенсорФлов

Упоредићемо Тхеано и ТенсорФлов на основу следећих показатеља:

Популарност:

Тхеано ТенсорФлов
Тхеано је стари оквир није толико популаран међу , Истраживачи. Било је то једном давноТенсорФлов је рукама доле Најпознатија Оквир дубоког учења и користи се у многим истраживањима.

Брзина извршења:

Тхеано ТенсорФлов
Обавља задатке брже од ТенсорФлов-а. Нарочито појединачни ГПУ задаци се изводе, врло брзо у Тхеану.Брзина извршења ТенсорФлов-а је спорија у поређењу са Тхеано-ом, али у Мулти-ГПУ задацима преузима водећу улогу.

Предности технологије:

Тхеано ТенсорФлов
Подржава широк спектар операција.

Тхеано израчунава градијент при одређивању грешка.

Имате потпуну контролу над оптимизаторима јер га морате тврдо кодирати.

ТенсорФлов још увек мора да се изједначи са Тхеаном.

То није случај за ТенсорФлов

Омогућава приступ многим добрим оптимизаторима. Што олакшава кодирање

Компатибилност:

поставите јава цласспатх виндовс 10

Тхеано ТенсорФлов
Керас, невероватна библиотека за дубоко учење компатибилна је са Тхеано-ом. Добро се интегрише.

Има матичну подршку за Виндовс.

Такође подржава омотаче високог нивоа попут Лазање.

Али у случају ТенсорФлов-а, то још увек није тамо. Међутим, у верзији 2.0 то неће бити случај.

Тренутно ТенсорФлов-у недостаје ова подршка.

Нема подршке за лазање.

Подршка заједнице:

Тхеано ТенсорФлов
Тхеано има већу подршку заједнице како је настао пре ТенсорФлов-а.

Има више документације од ТенсорФлов-а

Подршка заједнице ТенсорФлов на мрежи се брзо повећава својом популарношћу.

Документација је релативно мања.

Читљивост кода:

Упоредимо Тхеано и ТенсорФлов на основу њиховог кода. Овде узимам основни пример скрипте где ћемо узети неке Пхони податке и иницијализовати најбоље одговарају тим подацима како би могао предвидети будуће тачке података.

Тхеано код:

импорт тхеано импорт тхеано.тенсор као Т импорт нумпи # Поново направите 100 бодова у нумпи к_дата = нумпи.флоат32 (нумпи.рандом.ранд (2, 100)) и_дата = нумпи.дот ([0.100, 0.200], к_дата) + 0.3 # Инцијализујте Тхеано модел Кс = Т.матрик () И = Т.вецтор () б = тхеано.схаред (нумпи.рандом.униформ (-1, 1), наме = 'б') В = тхеано.схаред ( нумпи.рандом.униформ (-1.0, 1.0, (1, 2)), наме = 'В') и = В.дот (Кс) + б # Израчунајте градијенте ВРТ средње квадратне грешке за сваки параметар цост = Т.меан (Т.скр (и - И)) градијентВ = Т.град (трошак = трошак, врт = В) градијентБ = Т.град (трошак = трошак, врт = б) ажурирања = [[В, В - градијентВ * 0.5], [б, б - градијентБ * 0.5]] воз = тхеано.функција (улази = [Кс, И], излази = цена, ажурирања = ажурирања, аллов_инпут_довнцаст = Тачно) за и у кранге (0, 201): воз (к_дата, и_дата) испис В.гет_валуе (), б.гет_валуе ()

Еквивалентни ТенсорФлов код:

импорт тенсорфлов ас тф импорт нумпи ас нп # Направите 100 лажних тачака података у НумПи-у. к_дата = нп.флоат32 (нп.рандом.ранд (2, 100)) # Случајни унос и_дата = нп.дот ([0.100, 0.200], к_дата) + 0.300 # Конструисати линеарни модел. б = тф.Вариабле (тф.зерос ([1])) В = тф.Вариабле (тф.рандом_униформ ([1, 2], -1.0, 1.0)) и = тф.матмул (В, к_дата) + б # Смањите квадратне грешке. губитак = тф.редуце_меан (тф.скуаре (и - и_дата)) оптимизер = тф.траин.ГрадиентДесцентОптимизер (0,5) траин = оптимизер.минимизе (губитак) # За иницијализацију променљивих. инит = тф.инитиализе_алл_вариаблес () # Покрените граф сесс = тф.Сессион () сесс.рун (инит) # Уклопите раван. за корак у кранге (0, 201): сесс.рун (воз) ако је корак% 20 == 0: корак исписа, сесс.рун (В), сесс.рун (б) # Учи да најбоље одговара В: [[0,100 0.200]], б: [0.300]

Ленгтх Висе Оба Законика су скоро Сличан нема много разлике. Две идентично генерисане низови који описују улаз и циљни излаз. Али ако погледамо иницијализацију модела.

Иницијализација модела:

# ТенсорФлов б = тф.Вариабле (тф.зерос ([1])) В = тф.Вариабле (тф.рандом_униформ ([1, 2], -1.0, 1.0)) и = тф.матмул (В, к_дата) + б # Тхеано Кс = Т.матрик () И = Т.вецтор () б = тхеано.схаред (нумпи.рандом.униформ (-1, 1), наме = 'б') В = тхеано.схаред (нумпи.рандом .униформ (-1.0, 1.0, (1, 2)), наме = 'В') и = В.дот (Кс) + б

Као што овде видите, ТенсорФлов не захтева никакав посебан третман Кс и И променљивих. С друге стране, Тхеано захтева додатни напор како би био сигуран да су променљиве Симболички улази до Функције. Дефиниције б и В су објашњене и такође лепше.

Учење: оптимизација

# Тенсорфлов губитак = тф.редуце_меан (тф.скуаре (и - и_дата)) # (1) оптимизер = тф.траин.ГрадиентДесцентОптимизер (0.5) # (2) траин = оптимизер.минимизе (губитак) # (3) # Тхеано трошак = Т.меан (Т.скр (и - И)) # (1) градијентВ = Т.град (трошак = трошак, врт = В) # (2) градијентБ = Т.град (трошак = трошак, врт = б) # (2) ажурирања = [[В, В - градијентВ * 0,5], [б, б - градијентБ * 0,5]] # (2) воз = тхеано.функција (улази = [Кс, И], излази = цена, ажурирања = упдате, аллов_инпут_довнцаст = Труе) # (3)

За (1) МСЕ је скоро исто за Тхеано вс ТенсорФлов.

За (2) Дефинисање Оптимизер је лако и једноставно као што је то случај у случају ТенсорФлов-а, али Тхеанно вам пружа велику контролу над очигледним оптимизаторима, иако је прилично дугачак и повећава напор у верификацији.

За (3) Функција тренинга законик је готово сличан

Тело за тренинг:

# ТенсорФлов инит = тф.инитиализе_алл_вариаблес () сесс = тф.Сессион () сесс.рун (инит) за корак у кранге (0, 201): сесс.рун (воз) # Тхеано за и у кранге (0, 201): воз (к_дата, и_дата) испис В.гет_валуе (), б.гет_валуе ()

Код за обуку је готово идентичан, али Инкапсулација извршења графа у објекту сесије јесте Концептуално чистији него Теано.

Коначна пресуда: Тхеано вс ТенсорФлов

У завршној напомени, може се рећи да оба АПИ-ја имају сличан Интерфејс . Али ТенсорФлов је упоредно лакше ио користите, јер пружа пуно алата за надгледање и отклањање грешака. Тхеано преузима водећу улогу Употребљивост и брзина , али ТенсорФлов је више погодан за примену. Папирологија или Документација јер Тхеано је више од ТенсорФлов, а ТенсорФлов је нови језик, људи за почетак немају много ресурса. Библиотеке дубоког отвореног кода као што су Керас, Лазање и Блоцкс су биле изграђена на врху Тхеано.

Надам се да је ово поређење било довољно за вас да одлучите за који оквир да се одлучите, погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250.000 задовољних ученика раширених широм света. Ову обуку за сертификацију припремају професионалци у индустрији у складу са индустријским захтевима и захтевима. Савладаћете концепте као што су СофтМак функција, Неуронске мреже аутоматског кодирања, Ограничена Болтзманнова машина (РБМ) и радити са библиотекама попут Кераса и ТФЛеарн-а.

питхон __инит__ метода

Имате питање за нас? Молимо вас да га поменете у одељку за коментаре „Тхеано вс ТенсорФлов“ и јавићемо вам се.