課堂小考
Adam:常用的優化算法,結合了 動量 和自適應學習率的特性。它可以幫助神經網絡更快地收斂到最優解,從而提高模型的預測性能。
Dropout:正則化技術,隨機地將神經元的輸出置為零來防止過度擬合。這可以幫助減少模型對訓練數據的過度依賴,從而提高對新數據的泛化能力。
Parameter Norm Penalties:參數範數懲罰是通過向損失函數 添加參數 的正則化項來控制模型的複雜度。這可以防止模型對訓練數據過度擬合,從而改善對目標變量的預測。
Dataset Augmentation:(數據增強) 對訓練數據進行隨機變換來生成額外的訓練樣本。 這可以幫助模型更好地捕捉數據的不變性,從而提高對目標變量的預測性能。
優化器
考試重點:冒險19 20 21 23 24 25 26 27 28 35 39
冒險39 強化學習
老師公假
ch3 回歸
h1
,和第二個字一起傳到模型,產生第二個隱藏狀態h2
,依此類推,直到說出最後一個字產生最後的hT
,稱為C(是前面所有字的融合) 特徵表現向量人智展 公假
import sequence
:整理要送進去的文字資料 import Sequential
打造模型冒險19 RNN迴歸式類神經網路
使用別人訓練好的模型:ResNet50
step1.下載
wget
下載網址中的檔案到colab背後的虛擬機中,命名為Cooper.zip!wget --no -check-certificate\https::/Cooper.zip\- 0 /content/Cooper.zip
-0 放在哪、檔名step2.解壓縮
import zipfile
解壓縮成6張圖片檔+標籤的文字檔'imagenet-classes.txt'cooper=[f"cooper0{i}.jpg" for i in range(1,7)]
step3.讀模型
7. model=ResNet50()
8. 輸入模型前要調整圖片大小,改成2242243channels
9. x=img_to_array(img).reshape(1,224,224,3)
一次改一張圖片
用ResNet50V2做模型 用遷移式學習 判斷 少量資料集
期中考
pip install fastapi
pip install kaleido
用gradio執行準備好的模型進行預測:
flatten()
拉平gr.Interface()
== 打造web App,再上架 iface.launch()– step:
model=Sequential
打造空白的神經網路model.add
模型內網路的架構,加入隱藏層Dense(100,input_dim=輸入多少神經元,activation='relu')
全連接層/用100個神經元/輸入784(只有第一層需要)/激活函數relumodel.add(Dense(100,input_dim=輸入多少神經元,activation='relu)
//第一層model.add(Dense(100,activation='relu'))
//再加第二層… 依序model.add(Dense(10,avtivation='softmax'))
//最後一層是輸出層 10輸出的數量 softmax讓輸出加總為1model.compile
用compile組裝、告知 損失函數 選擇優化學習的方法(ex梯度下降法)model.compile(loss='mse',optimizer=SGD(learning_rate=0.087),metrics=['accuracy'])
均方差mse 梯度下降法S(隨機:不照順序一個個訓練)GDmetrics=['accuracy']
隨時看到目前的正確率model.summary()
看模型架構sigma i=1~n Wi*Xi 加權和
隱藏層的選擇:DNN / RNN(有記憶) / CNN(捲機 圖形)
DNN(dense natural networks)全連結神經網路
決定要幾個隱藏層、每個隱藏層要幾個神經元 每一層的神經元會輸出到下一層所有神經元
| | yi-yi` || = 開根號{ (a1-b1)^2 + (a2-b2)^2… }
事假(嘉義旅遊)
!nvidia-smi -L
"!"表示直接在colab notebook中執行系統指令,看GPU
小黑視窗中就不用"!"了
ls
檔案路徑
from ipywidgets import interact_manual
互動方式:interact_manual(輸入資料後、按鍵互動) interact(即時互動)
每一種資料型態對應一種互動方式 ex.輸入數字int vs. string
pip install gradio
import gradio as gr
Gradoi 輸出用return回傳
vs.
Web App:用Gradio創造互動介面 iface 不用範例, 直接說明輸入輸出是甚麼 用 launch 上架
公開iface.launch(share=True)
row - row - row列
column行
column
np.shape(col行數量,row列數量)
純量:4筆資料、每筆資料有一個數值
向量:y.shape()=(2,4)兩筆資料、每筆資料有4個數值
在變形前先預覽(不改動原本的值np.reshape(x,y)