Keras學習筆記---keras做迴歸問題
參考caffe做迴歸問題,這裡主要是改caffe的迴歸程式碼為keras程式碼,順便熟悉keras的流程。caffe的訓練資料主要是通過這篇部落格網址得到訓練資料。這裡主要是通過keras書寫網路,同時做相應的預測。
首先看一下caffe的網路結構圖:
這裡按照這個網路搭建keras的網路:
網路圖如下:# coding=utf-8 from keras.layers import merge from keras.layers.convolutional import Convolution2D, MaxPooling2D,ZeroPadding2D,AveragePooling2D from keras.layers.core import Dense, Activation,Flatten,Dropout from keras.layers.normalization import BatchNormalization from keras.models import Model from keras.layers import Input from keras.utils import plot_model from keras import losses import h5py import keras #輸入資料的塊大小 inp = Input(shape=(1,100,100)) #網路結構 out = Convolution2D(96,kernel_size=(5,5),strides=(2,2))(inp) out = Activation('relu')(out) out = MaxPooling2D(pool_size=(3,3),strides=2)(out) out = ZeroPadding2D(padding=(2,2))(out) out = Convolution2D(filters=96,kernel_size=(3,3),strides=(1,1))(out) out = Activation('relu')(out) out = MaxPooling2D(pool_size=(3,3),strides=2)(out) out = ZeroPadding2D(padding=(1,1))(out) out = Convolution2D(filters=128,kernel_size=(3,3),strides=(1,1))(out) out = Activation('relu')(out) out = MaxPooling2D(pool_size=(3,3),strides=2)(out) out = Flatten()(out) out = Dense(units=192,activation='softmax')(out) out = Activation('relu')(out) out = Dropout(rate=0.5)(out) out = Dense(units=1,activation='sigmoid')(out) #net model = Model(inp,out) #做迴歸的問題採用mse損失函式 model.compile(loss=losses.mean_squared_error, optimizer='sgd') #載入需要進行訓練的資料 x_data = keras.utils.io_utils.HDF5Matrix('train.h5', 'data') y_data = keras.utils.io_utils.HDF5Matrix('train.h5', 'score') #shuffle the data model.fit(x_data, y_data,validation_split=0.3,epochs=10, batch_size=16) model.save('regression_model.h5') plot_model(model, to_file='model2.png',show_shapes=True)
然後用來預測的程式碼如下:
# coding=utf-8 import numpy as np from keras.layers import Dense from keras.models import Model from keras.preprocessing import image from keras.models import load_model model = load_model('regression_model.h5') # model.load_weights('weight.h5') print model.get_config() image_path = './samples/00001_0.028184228311.jpg' # 載入影象 img = image.load_img(image_path, grayscale=True, target_size=(100, 100)) # 影象預處理 x = image.img_to_array(img) x = np.expand_dims(x, axis=0) # 對影象進行分類 preds = model.predict(x) # 輸出預測概率 print 'Predicted:', preds
重點都在程式碼中註釋。
相關推薦
Keras學習筆記---keras做迴歸問題
參考caffe做迴歸問題,這裡主要是改caffe的迴歸程式碼為keras程式碼,順便熟悉keras的流程。caffe的訓練資料主要是通過這篇部落格網址得到訓練資料。這裡主要是通過keras書寫網路,同時做相應的預測。 首先看一下caffe的網路結構圖: 這裡按照這個網路
Deep learning基於theano的keras學習筆記-網路層
Deep learning基於theano的keras學習筆記-網路層 轉自 https://blog.csdn.net/zhili8866/article/details/53262114 1. 常用層 1.1 Dense層 keras.layers.core.Dense(outp
keras學習筆記2——Merge理解、GPU的設定方法,以及新手的注意事項
keras學習筆記2——Merge、GPU呼叫、快速開始及常見問題 參考資料:http://keras-cn.readthedocs.io/en/latest/ 1. Merge層 Merge層主要是用來合併多個model的,例子如下: from keras.layers impor
keras學習筆記1——Keras模組概述
keras學習筆記1——Keras模組概述 Keras主要包括14個模組,本文主要對Models、layers、Initializations、Activations、Objectives、Optimizers、Preprocessing、metrics共計8個模組分別展開介紹
keras學習筆記(二)
學習過tensorflow後,繼續學習了keras,想用keras自己去寫一個卷積神經網路,用於cifar10的資料分類問題。 例項:CIFAR10分類 下面程式碼主要介紹了keras中三種構建網路結構的方式,僅供參考,可能還有更多的寫網路結構的方式,但目前我作為初學者,瞭解的沒有那麼廣泛。
keras 學習筆記:從頭開始構建網路處理 mnist
全文參考 《 基於 python 的深度學習實戰》 import numpy as np from keras.datasets import mnist from keras.models import Sequential from keras.layers import Den
keras學習筆記(三)
資料歸一化 通過上次對cifar10資料集分類的任務,我的分類精度在0.79,但是當我對輸入的資料做了歸一化後,精度達到了0.99,實現的語句如下: X_train = X_train.astype('float32')/255 X_test = X_test.astype('float32
Keras學習之3:迴歸問題(boston_housing資料為例)
本實驗使用boston_housing資料集對房價資料進行迴歸分析,資料來自1970年代,波斯頓周邊地區的房價,是用於機器學習的經典資料集。該資料集很小,共計506條資料,分為404個訓練樣本和102個測試樣本,因此需要採用K-Fold,這裡取K=4。每條資料包含1
官網例項詳解4.15(imdb_cnn_lstm.py)-keras學習筆記四
程式碼註釋'''Train a recurrent convolutional network on the IMDB sentiment classification task. 為IMDB(資料集)情感分類任務訓練迴圈卷積網路 Gets to 0.8498 test ac
keras學習筆記
1.基本概述 neural layers(神經層), cost functions(損失函式), optimizers(優化器), initialization schemes(初始化方案), activation functions(啟用函式), r
深度學習(十)keras學習筆記
作者:hjimce keras與torch7的使用非常相似,是最近才火起來的深度學習開源庫,底層是用了theano。keras可以說是python版的torch7,對於快速構建CNN模型非常方便。同時也包含了一些最新文獻的演算法,比如Batch Noramlize,文件
Keras學習筆記:Chapter1-Keras入門
Keras Keras是一個高層神經網路庫。Keras是由Python編寫而成的,後端實現是基於Tensorflow,CNTK或Theano(Keras是一個庫,可以理解為一個基於多種不同機器學習庫提供相同api的庫)。 Keras發展的要義是:將想
keras\preprocessing目錄檔案詳解5.2(sequence.py)-keras學習筆記五
功能:用於預處理序列(例如一篇文章,句子)資料的實用工具。 keras-master\keras\preprocessing\sequence.py 建立詞向量嵌入層,把輸入文字轉為可以進一步處理的資料格式(例如,矩陣) 程式碼註釋 # -*- coding:
Keras學習筆記---儲存model檔案和載入model檔案
儲存keras的model檔案和載入keras檔案的方法有很多。現在分別列出,以便後面查詢。 keras中的模型主要包括model和weight兩個部分。 儲存model部分的主要方法:一是通過js
深度學習BiGan學習筆記,keras版
對抗生成網路Gan變體集合 keras版本 bigan(Bidirectional GAN 雙向Gan) http://link.zhihu.com/?target=https://arxiv.org/abs/1605.09782 具有生成器G,編碼器encoder,判別器D 作用: 1
聽它爹說他孩兒:Keras 學習筆記 2
本書有30多個範例,幫你學會解決具體問題。這些範例開發工具,用的是 Keras 及其底層 TensorFlow。你將學會使用 Keras 處理實際問題,如機器視覺、自然語言、影象分類、時間序列預測、情緒分析、影象和文字生成等。Keras 的老家在 https://keras.
聽它爹說他孩兒:Keras 學習筆記 4.3
對電影評論進行分類:二分法的範例把一批資料分成兩類,可能是機器學習應用最為廣泛的分類方法。因特網電影資料庫( IMDB )的資料集該資料集有 50,000 條影評,訓練與測試各用 25,000 條,而正面與負面評價各佔 50 %。與資料集 MNIST 相伴,IMDB 資料集也
官網例項詳解4.6(cifar10_cnn_capsule.py)-keras學習筆記四
基於CIFAR10(小批量圖片)資料集訓練簡單的膠囊(組神經元)深度卷積神經網路程式碼註釋"""Train a simple CNN-Capsule Network on the CIFAR10 small images dataset. 基於CIFAR10(小批量圖片)資料
keras學習筆記-黑白照片自動著色的神經網路-Beta版
正文共3894個字,8張圖,預計閱讀時間11分鐘。Alpha版本不能很好地給未經訓練的影象著色。
Keras學習筆記02——常用的網路層
在搭建神經網路結構時,我們要向網路中新增一些網路層,下面列舉出來常用的網路層及其相關用法。 一、常用層 常用層對應於core模組,core內部定義了一系列常用的網路層,包括全連線、啟用層等。 1.Dense層 Dense層:全連線層。 ke