女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于 Python 的深度學(xué)習(xí)庫Keras入門知識

C語言專家集中營 ? 來源:未知 ? 作者:李倩 ? 2018-05-14 04:05 ? 次閱讀

Keras 是基于 Python深度學(xué)習(xí)庫,不同于其他深度學(xué)習(xí)框架。Keras充當(dāng)神經(jīng)網(wǎng)絡(luò)的高級 API 規(guī)范。它既可作為用戶界面,也可擴展它在其中運行的其他深度學(xué)習(xí)框架后端的功能。

Keras 起初是作為學(xué)術(shù)界熱門 Theano 框架的簡化前端。此后,Keras API 成為了 Google TensorFlow 的一部分。Keras 正式支持 Microsoft Cognitive Toolkit (CNTK)、Deeplearning4J,不久之后還將支持 Apache MXNet。

鑒于獲得了廣泛的支持,Keras 作為框架間遷移工具的地位已不可撼動。開發(fā)人員不僅可以移植深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)算法和模型,還可以移植預(yù)先訓(xùn)練的網(wǎng)絡(luò)和權(quán)重。

關(guān)于 Keras

Keras名稱的起源Chollet 創(chuàng)建了 Keras 作為開放式神經(jīng)電子智能機器人操作系統(tǒng) (ONEIROS) 機器人研究項目的神經(jīng)網(wǎng)絡(luò)的 API。ONEIROS這一名稱是對古希臘史詩《奧德賽》的致意,在這部史詩中,神話人物Oneiroi(Oneiros的單數(shù)形式)為人類指明了兩條進入夢境的路:一條路穿過宏偉的象牙之門進入噩夢,另一條路則穿過低矮的獸角之門,最終呈現(xiàn)一片神圣的景象。Keras 在希臘語中意為角,這個名稱非常合適,因為 Keras API 旨在為與神經(jīng)網(wǎng)絡(luò)協(xié)同使用提供一條捷徑。

Keras 是開源 Python 包,由麻省理工學(xué)院 (MIT) 許可發(fā)行,由 Fran?ois Chollet、Google、Microsoft 和其他貢獻者共同持有該軟件的部分版權(quán)。

Keras 前端支持在研究中快速構(gòu)建神經(jīng)網(wǎng)絡(luò)模型的原型。此 API 易于學(xué)習(xí)和使用,并且具有易于在框架間移植模型的附加優(yōu)勢。

由于 Keras 的獨立性,使用時無需與運行它的后端框架進行交互。Keras 具有自己的圖形數(shù)據(jù)結(jié)構(gòu),用于定義計算圖形:它不依靠底層后端框架的圖形數(shù)據(jù)結(jié)構(gòu)。此方法使您可以免于學(xué)習(xí)對后端框架進行編程,正因如此,Google 已選擇將 Keras API 添加到其 TensorFlow 核心。

本文將概述 Keras,包括此框架的優(yōu)勢、支持的平臺、安裝注意事項以及支持的后端。

Keras 的優(yōu)勢

為何要使用 Keras?它具有多種優(yōu)勢,包括:

更加良好的深度學(xué)習(xí)應(yīng)用程序用戶體驗 (UX)。Keras API 對用戶友好。此 API 經(jīng)過精心設(shè)計、面向?qū)ο笄异`活易用,因而改善了用戶體驗。研究人員無需使用可能十分復(fù)雜的后端即可定義全新深度學(xué)習(xí)模型,從而實現(xiàn)了更簡潔明了的代碼。

無縫 Python 集成。Keras 是本機 Python 包,能夠輕松訪問整個 Python 數(shù)據(jù)科學(xué)生態(tài)系統(tǒng)。例如,Python Scikit-learn API 也可以使用 Keras 模型。熟悉后端(如 TensorFlow)的開發(fā)人員同樣可以使用 Python 來擴展 Keras。

大型的可移植工作主體和強大的知識庫。目前,研究人員已將 Keras 與 Theano 后端結(jié)合使用了一段時間。由此產(chǎn)生了大型工作主體和強大的社區(qū)知識庫,可供深度學(xué)習(xí)開發(fā)人員輕松地從 Theano 后端移植到 TensorFlow 后端。甚至還可以在后端之間移植權(quán)重,這意味著經(jīng)過預(yù)先訓(xùn)練的模型只需稍作調(diào)整就可輕松切換后端。Keras 和 Theano 研究仍與 TensorFlow 和其他后端緊密相關(guān)。此外,Keras 還免費提供了許多學(xué)習(xí)資源、文檔和代碼樣本。

Keras 應(yīng)用程序

借助擬合生成器、數(shù)據(jù)預(yù)處理和實時數(shù)據(jù)擴充等 Keras 功能,開發(fā)人員只需少量訓(xùn)練數(shù)據(jù)集便可訓(xùn)練出強大的圖像分類器。Keras 隨附預(yù)先經(jīng)過訓(xùn)練的內(nèi)置圖像分類器模型,包括:Inception-ResNet-v2、Inception-v3、MobileNet、ResNet-50、VGG16、VGG19和Xception。

注:由于這些模型的來源各不相同,因此有若干不同的許可證用于控制這些模型的權(quán)重使用情況。

借助 Keras,只需幾行代碼即可定義復(fù)雜模型。Keras 尤其適合用于通過小型訓(xùn)練數(shù)據(jù)集來訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)。雖然 Keras 在圖像分類應(yīng)用程序中已獲得了更廣泛的使用,它同樣也適用于文本和語音的自然語言處理 (NLP) 應(yīng)用程序。

哪些平臺支持 Keras?

支持 Python 開發(fā)環(huán)境的平臺同時也能支持 Keras。正式構(gòu)建測試是在 Python V2.7x 和 V3.5 上運行的,但與 Keras 結(jié)合使用的后端需要特定平臺才能訪問支持的圖形處理單元 (GPU)。大部分后端取決于其他軟件,例如,NVIDIA? CUDA? 工具包和 CUDA 深度神經(jīng)網(wǎng)絡(luò)庫 (cuDNN)。

TensorFlow 是 Keras 的缺省后端,但它還支持 Theano 和 CNTK 后端。Apache MXNet 的支持工作還在進行當(dāng)中,同時也為 Keras 提供了 R 接口。許多供應(yīng)商都已將 Keras API 移植到其深度學(xué)習(xí)產(chǎn)品中,由此而能夠?qū)?Keras 模型。例如,基于 Java? 的后端 Eclipse Deeplearning4j,便能夠?qū)?Keras 模型。此外,Scala 包裝器也可用于 Keras。因此,Keras 平臺支持成為了一個爭議點。更重要的是確保目標(biāo)平臺支持您所選的 Keras 后端。

有關(guān)哪些平臺支持 TensorFlow 的更多信息,請參閱TensorFlow 入門。有關(guān)哪些平臺支持 Theano 的詳細信息,請閱讀Theano 文檔。有關(guān)哪些平臺支持 CNTK 的更多信息,請參閱CNTK 文檔。

可選依賴關(guān)系

Keras 通過使用開源 Hierarchical Data Format 5 (HDF5) 二進制格式來管理數(shù)據(jù)。因此,它需要使用 HDF5 及其 h5py Python 包裝器,才能將 Keras 模型保存至磁盤。Keras 通過使用開源 GraphViz DOT 格式來繪制圖形。因此,它需要使用 GraphViz 及其 pydot Python 包裝器,才能直觀顯示數(shù)據(jù)。Keras GPU 支持還需要使用 cuDNN 庫。

從源代碼構(gòu)建 Keras

由于 Keras 是一個純 Python 包,因此沒有理由從源代碼進行構(gòu)建。Keras 不含任何特定于平臺的后端代碼。強烈建議改為從 Python Package Index (PyPI) 安裝 Keras。

Keras 安裝注意事項

上文中已提到,Keras 可在支持 Python 開發(fā)環(huán)境的任何平臺上運行。這足以訓(xùn)練和測試大部分簡單示例和教程。大部分專家強烈建議,針對研究或商業(yè)開發(fā)等應(yīng)用程序使用高性能計算 (HPC) 平臺。

由于 Keras 使用第三方后端,因此無任何安裝注意事項。后端將負責(zé)執(zhí)行硬件加速。總之,安裝 Keras 后端的開發(fā)人員應(yīng)考慮以下因素和選項:

處理器和內(nèi)存需求

虛擬機選項

Docker 安裝選項

云安裝選項

處理器和內(nèi)存需求

深度學(xué)習(xí)算法為計算密集型算法,至少需要一個具有矢量擴展的快速多核 CPU。此外,一個或多個支持高端 CUDA 的 GPU 卡是深度學(xué)習(xí)環(huán)境的標(biāo)配。

深度學(xué)習(xí)進程通過使用共享內(nèi)存中的緩沖區(qū)相互進行通信。因此,分配的內(nèi)存應(yīng)已足夠。大部分專家由此還建議采用較大的 CPU 和 GPU RAM,因為從性能和能源使用的角度來看,內(nèi)存?zhèn)鬏敺浅0嘿F。更大的 RAM 可避免這些操作。

虛擬機選項

用于深度學(xué)習(xí)的虛擬機 (VM) 目前最適合有許多核心的以 CPU 為中心的硬件。因為主機操作系統(tǒng)控制著物理 GPU,所以在 VM 上實現(xiàn) GPU 加速很復(fù)雜。主要有兩種方法:

GPU 直通:

僅適用于 1 類管理程序,比如 Citrix Xen、VMware ESXi、Kernel Virtual Machine 和 IBM? Power?。

基于 CPU、芯片集、管理程序和操作系統(tǒng)的特定組合,直通方法的開銷可能會有所不同。通常,對于最新一代的硬件,開銷要低得多。

一種給定的管理程序-操作系統(tǒng)組合僅支持特定的 NVIDIA GPU 卡。

GPU 虛擬化:

各大主要 GPU 供應(yīng)商均支持,包括 NVIDIA GRID?、AMD MxGPU 和 Intel? Graphics Virtualization Technology。

最新版本在特定的較新 GPU 上支持開放計算語言 (OpenCL)。在大部分主要后端(包括 TensorFlow)上,不存在正式的 OpenCL 支持。

最新版的 NVIDIA GRID 可以在特定的較新 GPU 上支持 CUDA 和 OpenCL。

Docker 安裝選項

在 Docker 容器或 Kubernetes 集群中運行 Keras 存在諸多優(yōu)勢。Keras 存儲庫包含一個 Docker 文件,具有針對 Mac OS X 和 Ubuntu 的 CUDA 支持。此映像支持 Theano 或 TensorFlow 后端。使用 Docker 的優(yōu)勢主要在于,后端可以訪問物理 GPU 核心(設(shè)備)并在其中運行。

云安裝選項

在云服務(wù)上運行 Keras 時有許多選項。Keras 可用于在一個供應(yīng)商生態(tài)系統(tǒng)上訓(xùn)練模型,但只需稍作調(diào)整即可在另一個供應(yīng)商生態(tài)系統(tǒng)上用于生產(chǎn)部署。

IBM Cloud?數(shù)據(jù)科學(xué)和數(shù)據(jù)管理為 Python 環(huán)境提供了 Jupyter Notebook 和 Spark。Keras 和 TensorFlow 已預(yù)先安裝。IBM Cloud 上的 Kubernetes 集群可運行 Keras 和 TensorFlow Docker 映像。

Google Cloud:Google 提供了一些機器實例,它們能訪問特定區(qū)域的 1、4 或 8 個 NVIDIA GPU 設(shè)備。同時還可以在容器化的 GPU 支持的 Jupyter Notebook 上運行 Keras 和 TensorFlow

Amazon Web Services:Amazon 提供了 Amazon Web Services 深度學(xué)習(xí) Amazon Machine Image (AMI),以及可選的 NVIDIA GPU 支持,后者能在各種各樣的 Amazon Elastic Compute Cloud 實例上運行。已預(yù)先安裝 Keras、TensorFlow 和其他深度學(xué)習(xí)框架。AMI 可以支持多達 64 個 CPU 核心和多達 8 個 NVIDIA GPU (K80)。

Microsoft Azure:您可以在 Microsoft 數(shù)據(jù)科學(xué)虛擬機系列的 Microsoft Azure 機器實例上以 CNTK 后端安裝 Keras,僅使用 CPU 或者包含最多四個 K80 GPU 都可。

將 Keras 用作其他框架的 API

Keras 各層及模型均與純 TensorFlow 張量完全兼容;因此,Keras 為 TensorFlow 提供了良好的模型定義附件。您甚至可以同時使用 Keras 和其他 TensorFlow 庫。Keras 現(xiàn)已成為 TensorFlow 核心的正式組成部分。有關(guān)詳細信息,請閱讀此博客文章。

從 TensorFlow 后端切換至其他某個正式支持的 Keras 后端十分簡單,只需在 JavaScript 對象表示法 (JSON) 配置文件中進行一項更改即可。有關(guān)詳細信息,請參閱Keras 文檔。

目前,可以使用 Keras 作為以下這些框架的 API:

Keras 與 Theano。最近淘汰的 Theano 是 Keras 最先支持的后端,后被 TensorFlow 所取代。TensorFlow 支持大部分 Theano 開發(fā)的 Keras 模型。要使用 GPU 運行 Theano 后端,請遵循此文檔中有關(guān) Theano 的部分來操作。

Keras 與 CNTK。Keras 對 Microsoft Cognitive Toolkit (CNTK) 后端的支持仍處于測試階段。您可以閱讀Microsoft 文檔,了解更多詳細信息和資料。

Keras 與 Deeplearning4j。Deeplearing4j 可使用其deeplearing4j-modelimport模塊來導(dǎo)入大部分 Keras 模型。目前,Deeplearning4j 可支持導(dǎo)入有關(guān)層次、損失、激活、初始化程序、正則化項、約束條件、度量標(biāo)準(zhǔn)和優(yōu)化程序的模型信息。有關(guān)更多信息,請訪問Deeplearning4j 文檔。

Keras 與 Apache MXNet。Keras 對 Apache MXNet 后端的支持仍處于早期測試階段。這是由 Distributed (Deep) Machine Learning Community 主導(dǎo)的工作。此后端正逐步變?yōu)榱硪粋€正式支持的 Keras 后端。此GitHub 存儲庫中提供了該后端的代碼。

結(jié)束語

Keras 不同于其他深度學(xué)習(xí)框架。按照設(shè)計,它旨在成為神經(jīng)網(wǎng)絡(luò)建模的 API 規(guī)范。它可作為用戶界面,也可擴展它在其中運行的其他深度學(xué)習(xí)框架后端的功能。

Keras API 已成為 Google TensorFlow 的一部分。Keras 同時還正式支持 CNTK、Deeplearning4j,很快就會支持 Apache MXNet。

由于這一廣泛的支持,Keras 已成為了實現(xiàn)框架間遷移的實際工具。開發(fā)人員不僅可以移植深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)算法和模型,還可以移植預(yù)先訓(xùn)練的網(wǎng)絡(luò)和權(quán)重。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4824

    瀏覽量

    86162
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5554

    瀏覽量

    122470
  • keras
    +關(guān)注

    關(guān)注

    2

    文章

    20

    瀏覽量

    6168

原文標(biāo)題:Keras 入門

文章出處:【微信號:C_Expert,微信公眾號:C語言專家集中營】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    Nanopi深度學(xué)習(xí)之路(1)深度學(xué)習(xí)框架分析

    ,高度模塊化,可擴展性)。 ? 同時支持卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò),以及兩者的組合。? 在 CPU 和 GPU 上無縫運行。--摘自《Keras:基于-Python-的深度學(xué)習(xí)
    發(fā)表于 06-04 22:32

    Nanopi深度學(xué)習(xí)之路(4)深度學(xué)習(xí)框架安裝前的依賴項安裝

    ,κ?ρα?(號角)/κρα?νω(履行),以及 ?λ?φα?(象牙)/?λεφα?ρομαι(欺騙)。 --摘自《Keras:基于-Python-的深度學(xué)習(xí)
    發(fā)表于 06-08 19:54

    【NanoPi K1 Plus試用體驗】搭建深度學(xué)習(xí)框架

    KerasKeras是一種高度模塊化,使用簡單上手快,合適深度學(xué)習(xí)初學(xué)者使用的深度學(xué)習(xí)框架。
    發(fā)表于 07-17 11:40

    深度學(xué)習(xí)入門之基于python的理論與實現(xiàn)

    深度學(xué)習(xí)入門-基于python的理論與實現(xiàn)(2)
    發(fā)表于 06-19 11:22

    Python機器學(xué)習(xí)深度學(xué)習(xí)總結(jié)

    和DBSCAN。而且也設(shè)計出了Python numerical和scientific libraries Numpy and Scipy 2、Keras深度學(xué)習(xí)) https://g
    發(fā)表于 11-10 14:49 ?965次閱讀

    各種編程語言的深度學(xué)習(xí)整理

    ?Theano是一個python,用數(shù)組向量來定義和計算數(shù)學(xué)表達式。它使得在Python環(huán)境下編寫深度學(xué)習(xí)算法變得簡單。在它基礎(chǔ)之上還搭
    發(fā)表于 08-30 10:20 ?2800次閱讀

    盤點幾種深度學(xué)習(xí)

    ,用數(shù)組向量來定義和計算數(shù)學(xué)表達式。它使得在Python環(huán)境下編寫深度學(xué)習(xí)算法變得簡單。在它基礎(chǔ)之上還搭建了許多類。
    發(fā)表于 11-16 14:20 ?3293次閱讀

    深度學(xué)習(xí)框架Keras代碼解析

    總體來講keras這個深度學(xué)習(xí)框架真的很“簡易”,它體現(xiàn)在可參考的文檔寫的比較詳細,不像caffe,裝完以后都得靠技術(shù)博客,keras有它自己的官方文檔(不過是英文的),這給初學(xué)者提供
    發(fā)表于 12-15 08:22 ?4559次閱讀

    基于Keras搭建的深度學(xué)習(xí)網(wǎng)絡(luò)示例

    Python軟件基金會成員(Contibuting Member)Vihar Kurama簡明扼要地介紹了深度學(xué)習(xí)的基本概念,同時提供了一個基于Keras搭建的
    的頭像 發(fā)表于 06-06 11:21 ?8537次閱讀

    深度學(xué)習(xí)入門基于python的理論與實現(xiàn)PDF電子書免費下載

    本書是深度學(xué)習(xí)真正意義上的入門書,深入淺出地剖析了深度學(xué)習(xí)的原理和相關(guān)技術(shù)。書中使用Python
    發(fā)表于 12-09 08:00 ?19次下載
    <b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>入門</b>基于<b class='flag-5'>python</b>的理論與實現(xiàn)PDF電子書免費下載

    基于Python的理論與實現(xiàn)進行深度學(xué)習(xí)入門教程

    本書是深度學(xué)習(xí)真正意義上的入門書,深入淺出地剖析了深度學(xué)習(xí)的原理和相關(guān)技術(shù)。書中使用Python
    發(fā)表于 11-11 08:00 ?6次下載

    深度學(xué)習(xí)入門基于Python的理論與實現(xiàn)的PDF電子書免費下載

    本書是深度學(xué)習(xí)真正意義上的入門書,深入淺出地剖析了深度學(xué)習(xí)的原理和相關(guān)技術(shù)。書中使用Python
    發(fā)表于 01-27 08:00 ?0次下載
    <b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>入門</b>基于<b class='flag-5'>Python</b>的理論與實現(xiàn)的PDF電子書免費下載

    深度學(xué)習(xí)入門:基于Python的理論與實現(xiàn)電子書

    深度學(xué)習(xí)入門:基于Python的理論與實現(xiàn)電子書
    發(fā)表于 03-10 09:42 ?32次下載
    <b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>入門</b>:基于<b class='flag-5'>Python</b>的理論與實現(xiàn)電子書

    深度學(xué)習(xí)常用的Python

    深度學(xué)習(xí)作為人工智能的一個重要分支,通過模擬人類大腦中的神經(jīng)網(wǎng)絡(luò)來解決復(fù)雜問題。Python作為一種流行的編程語言,憑借其簡潔的語法和豐富的支持,成為了
    的頭像 發(fā)表于 07-03 16:04 ?1058次閱讀

    keras的模塊結(jié)構(gòu)介紹

    Keras是一個高級深度學(xué)習(xí),它提供了一個易于使用的接口來構(gòu)建和訓(xùn)練深度學(xué)習(xí)模型。
    的頭像 發(fā)表于 07-05 09:35 ?625次閱讀