深度學習API——keras初學

keras定義:

Keras是一個深度學習API(人工神經網絡庫),使用Python語言編寫的github開源項目,主要開發者為谷歌工程師。Keras底層可調用不同的機器學習平臺,如TensorFlow、Theano或micsoft-CNTK。

作用:keras主要功能是簡化機器學習平臺的調用方式。

調用流程:

大概流程:根據輸入(訓練數據集)和輸出(測試數據集),推測出中間邏輯和關系。

需求:使用深度學習來識別手寫字識別

1.加載數據集。數據集包括:訓練數據集和測試數據集

from keras.datasets import mnist
path = r'C:\Users\LEGION\Desktop\datasets\mnist.npz'
(X_train, y_train), (X_test, y_test) = mnist.load_data(path)
print(X_train.shape)
print(y_train.shape)
print(X_test.shape)
print(y_test.shape)

X_train.shape 的形狀為(60000, 28, 28)
y_train.shape的形狀為(60000,)
X_test.shape的形狀為(10000, 28, 28)
y_test.shape的形狀為(10000,)

2.構建模型

 from keras.models import Sequentialfrom keras.layers import Dense,Activationmodel = Sequential()model.add(Dense(512, input_shape=(28*28,),activation='relu'))model.add(Dense(10,activation='softmax'))model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])model.fit(X_train, y_train, epochs=10, batch_size=64, verbose=1, validation_split=0.05)Testloss, Testaccuracy = model.evaluate(X_test, y_test)print('Testloss ', Testloss)print('Testaccuracy:', Testaccuracy)
  1. 第三行代碼,定義模型類型,表示使用Keras中的Sequential?順序模型。
  2. 第四行代碼表示增加一個全連接層(密集層),這層有512個神經元,輸入形狀是(28*28,)此處的輸入形狀也可以寫為:input_dim=28*28。Activation表示這層的激活函數使用是relu,不同的激活函數有不同的效果,大家可以自己學習。
  3. 第五行代碼增加一個全連接層,這層有10個神經元,這于我們的期望輸出個數一致(10個數字),激活函數使用softmax
  4. 第六行代碼表示編譯我們之前構建的模型,優化器選擇adam,損失函數為categorical_crossentropy,指標度量選擇accuracy精度。
  5. 第七行代碼表示使用訓練集數據來訓練我們的模型,epochs表示模型的訓練的時期數,每個epoch是對x,y的整個迭代,這里迭代10次。batch_size代表每個梯度更新的樣本數,默認值為32. verbose:日志顯示verbose = 0為不在標準輸出流輸出日志信息,verbose = 1為輸出進度條記錄,verbose=2為每個epoch輸出一行記錄,默認為1。validation_split按一定比例從訓練集中取出一部分作為驗證集。最后一行控制臺輸出:loss: 0.0109 - acc: 0.9964 - val_loss: 0.0862 - val_acc: 0.9823
  6. 第八行代碼表示對已經訓練好的模型在驗證集上進行評價,打印出驗證集上的損失和精度為:loss 0.0794 ,Accuracy: 0.9784。
  7. 第八行后一般會出現model.predict([np.array([features[1]]), sentence]),預測

phthon基礎

r

path = r'C:\Users\LEGION\Desktop\datasets\mnist.npz'

轉義字符來表示反斜杠

shape

通俗易懂的解釋:每一個shape里的數字對應數組中的一對中括號,第一個數字1表示最外層的中括號。以此類推,數字2表示第二層中括號,數字3表示最里層的中括號

reshape?

數組array的合并

astype? ?

字符轉數字?

X_train = X_train.astype('float32')/255

數學基礎

二維數組的賦值:

向量:

向量維度:

思考:

數據集用什么工具生成,數據格式有什么要求

訓練后的數據如何保存,如何在訓練后的模型上進行識別

識別的命令是什么,輸入參數是什么。

from keras.models import Input,Model
from keras.layers import Dense,Conv2D,TimeDistributedinput_ = Input(shape=(12,32,32,3))
out = TimeDistributed(Conv2D(filters=32,kernel_size=(3,3),padding='same'))(input_)
model = Model(inputs=input_,outputs=out)
model.summary()

卷積操作使用TimeDistributed,第一個12代表就是時間序列,32,32,3指的是高,寬,通道數。此處一共有896個參數,卷積核weights有3×3×3×32=864個,卷積核bias有32個。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/718250.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/718250.shtml
英文地址,請注明出處:http://en.pswp.cn/news/718250.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Tomcat的配置文件

Tomcat的配置文件詳解 一.Tomcat的配置文件 Tomcat的配置文件默認存放在$CATALINA_HOME/conf目錄中,主要有以下幾個: 1.server.xml: Tomcat的主配置文件,包含Service, Connector, Engine, Realm, Valve, Hosts主組件的相關配置信息&#x…

【推薦】免費AI論文寫作神器-「智元兔 AI」

還在為寫論文焦慮?免費AI寫作大師來幫你三步搞定! 智元兔AI是ChatGPT的人工智能助手,并且具有出色的論文寫作能力。它能夠根據用戶提供的題目或要求,自動生成高質量的論文。 不論是論文、畢業論文、散文、科普文章、新聞稿件&…

#WEB前端(浮動與定位)

1.實驗&#xff1a; 2.IDE&#xff1a;VSCODE 3.記錄&#xff1a; float、position 沒有應用浮動前 應用左浮動和右浮動后 應用定位 4.代碼&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><me…

pyqt5怎么返回錯誤信息給頁面(警告窗口)

在軟件設計中&#xff0c;我們可能會遇到對異常的處理&#xff0c;有些異常是用戶需要看到的&#xff0c;比如說&#xff0c;當我們登錄出錯的時候&#xff0c;后端需要給我們返回響應的錯誤信息&#xff0c;就像下圖實現的這樣。 類似這種效果&#xff0c;我們該如何實現&…

javaWebssh題庫管理系統myeclipse開發mysql數據庫MVC模式java編程計算機網頁設計

一、源碼特點 java ssh題庫管理系統是一套完善的web設計系統&#xff08;系統采用ssh框架進行設計開發&#xff09;&#xff0c;對理解JSP java編程開發語言有幫助&#xff0c;系統具有完整的源代碼和數據庫&#xff0c;系統主要采用B/S模式開發。開發環境為TOMCAT7.0,Mye…

「MySQL」基本操作類型

&#x1f387;個人主頁&#xff1a;Ice_Sugar_7 &#x1f387;所屬專欄&#xff1a;數據庫 &#x1f387;歡迎點贊收藏加關注哦&#xff01; 數據庫的操作 創建、顯示數據庫 使用 create 創建一個數據庫 create database goods;然后可以用 show databases 來查看已經創建的數…

我們如何知道人工智能系統有多智能?

1967 年&#xff0c;人工智能 &#xff08;AI&#xff09; 領域的創始人馬文明克西 &#xff08;Marvin Minksy&#xff09; 做出了一個大膽的預測&#xff1a;“在一代人之內…創造’人工智能’的問題將得到實質性解決。假設一代人大約是 30 年&#xff0c;明斯基顯然過于樂觀…

javaWebssh網上超市銷售管理系統myeclipse開發mysql數據庫MVC模式java編程計算機網頁設計

一、源碼特點 java ssh網上超市銷售管理系統是一套完善的web設計系統&#xff08;系統采用ssh框架進行設計開發&#xff09;&#xff0c;對理解JSP java編程開發語言有幫助&#xff0c;系統具有完整的源代碼和數據庫&#xff0c;系統主要采用B/S模式開發。開發環境為TOMCA…

指針深刻理解

指針深刻理解 看完鵬哥講的c語言進階視頻后&#xff0c;又找來C語言深度剖析這本書仔細看了一遍&#xff0c;來進一步鞏固和理解指針這個重點。 1&#xff1a;數組 如上圖所示&#xff0c;當我們定義一個數組 a 時&#xff0c;編譯器根據指定的元素個數和元素的類型分配確定大…

突破編程_C++_STL教程( list 的實戰應用)

1 std::list 的排序 1.1 基礎類型以及 std::string 類型的排序 std::list的排序可以通過調用其成員函數sort()來實現。sort()函數使用默認的比較操作符&#xff08;<&#xff09;對std::list中的元素進行排序。這意味著&#xff0c;如果元素類型定義了<操作符&#xff…

身份證識別系統(安卓)

設計內容與要求&#xff1a; 通過手機攝像頭捕獲身份證信息&#xff0c;將身份證上的姓名、性別、出生年月、身份證號碼保存在數據庫中。1&#xff09;所開發Apps軟件至少需由3-5個以上功能性界面組成。要求&#xff1a;界面美觀整潔、方便應用&#xff1b;可以使用Android原生…

ChatGPT聊圖像超分

筆者就YOLO系列方法詢問了ChatGPT的看法&#xff0c;可參考&#xff1a; ChatGPT是如何看待YOLO系列算法的貢獻呢&#xff1f; 續接前文&#xff0c;今天繼續拿圖像超分領域的經典方法來詢問ChatGPT的看法&#xff0c;這里主要挑選了以下幾個方案SRCNN、ESPSRN、EDSR、RCAN、…

JS 對象數組排序方法測試

輸出 一.Array.prototype.sort() 1.默認排序 sort() sort() 方法就地對數組的元素進行排序&#xff0c;并返回對相同數組的引用。默認排序是將元素轉換為字符串&#xff0c;然后按照它們的 UTF-16 碼元值升序排序。 由于它取決于具體實現&#xff0c;因此無法保證排序的時…

數據可視化基礎與應用-02-基于powerbi實現醫院數據集的指標體系的儀表盤制作

總結 本系列是數據可視化基礎與應用的第02篇&#xff0c;主要介紹基于powerbi實現醫院數據集的指標體系的儀表盤制作。 數據集描述 醫生數據集doctor 醫生編號是唯一的&#xff0c;名稱會存在重復 醫療項目數據projects 病例編號是唯一的&#xff0c;注意這個日期編號不是真…

面試時如何回答接口測試怎么進行

一、什么是接口測試 接口測試顧名思義就是對測試系統組件間接口的一種測試&#xff0c;接口測試主要用于檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換&#xff0c;傳遞和控制管理過程&#xff0c;以及系統間的相互邏輯依賴關系等。 …

【C++ 07】string 類的常用接口介紹

文章目錄 &#x1f308; Ⅰ string 類對象的常見構造函數&#x1f308; Ⅱ string 類對象的容量相關操作&#x1f308; Ⅲ string 類對象的訪問及遍歷1. 下標訪問及遍歷2. 正向迭代器訪問3. 反向迭代器訪問 &#x1f308; Ⅳ string 類對象的修改操作1. 插入字符或字符串2. 字符…

數據分析業務面試題

目錄 Q1:請簡述數據分析的工作流程? Q2:你經常用到的數據分析方法有哪些,舉例說明? Q3:公司最近一周的銷售額下降了,你如何分析下降原因? Q4:店鋪銷售額降低如何分析? Q5:若用戶留存率下降如何分析? Q6:店鋪商品銷售情況分布后 Q7:如何描述店鋪經營狀況?…

Vue前端的工作需求

加油&#xff0c;新時代打工人&#xff01; 需求&#xff1a; 實現帶樹形結構的表格&#xff0c;父數據顯示新增下級&#xff0c;和父子都顯示編輯。 技術&#xff1a; Vue3 Element Plus <template><div><el-table:data"tableData"style"width…

了解游戲中的數據同步

目錄 數據同步 通過比較來看狀態同步和幀同步 狀態同步 幀同步 幀同步實現需要的條件 兩者相比較 數據同步 在聯機游戲中&#xff0c;我的操作和數據要同步給同一局游戲中其他所有玩家&#xff0c;其他玩家的操作和數據也會同步給我。這叫做數據同步&#xff0c;目前數據…

國產數據庫概述

這是ren_dong的第33篇原創 1、什么是數據庫&#xff1f; 1.1、基本概念 定義&#xff1a;數據庫是 按照一定的數據結構組織、存儲和管理數據的倉庫。可視為電子化的文件柜&#xff0c;用戶可以對文件中的數據進行新增、查詢、更新、刪除等操作。 作用&#xff1a;業務數據 存儲…