tag:blogger.com,1999:blog-6093881388384310682.post7195306922653194543..comments2024-03-08T22:03:37.680-08:00Comments on 程式扎記: [Toolkit] Keras - MNIST 手寫數字辨識使用 CNNJohnhttp://www.blogger.com/profile/04682088884492411130noreply@blogger.comBlogger48125tag:blogger.com,1999:blog-6093881388384310682.post-78901798493362012502020-12-03T12:21:35.935-08:002020-12-03T12:21:35.935-08:00請問照著您說的把return值改成True,仍無法正常顯示圖表該如何處理 請問照著您說的把return值改成True,仍無法正常顯示圖表該如何處理 Anonymoushttps://www.blogger.com/profile/02100785656936043380noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-15722457538231377002020-06-13T17:05:08.890-07:002020-06-13T17:05:08.890-07:00你可以提供你的圖檔嗎? 我可以試著重寫 Keyas_MNIST_CNN.ipynb 來預測你的圖檔....你可以提供你的圖檔嗎? 我可以試著重寫 Keyas_MNIST_CNN.ipynb 來預測你的圖檔.Johnhttps://www.blogger.com/profile/04682088884492411130noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-22074766402209537702020-06-10T02:46:26.801-07:002020-06-10T02:46:26.801-07:00您好
我使用的是您的"Keras_MNIST_CNN.ipynb"
全部按照上...您好<br />我使用的是您的"Keras_MNIST_CNN.ipynb" <br />全部按照上面的執行<br />使用第一張圖檔時候是正確的<br />但後來更改別張圖檔<br />顯示的結果還是第一張圖檔的答案<br />廖軒湧https://www.blogger.com/profile/14993333621207730656noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-10760699744208666752020-06-09T18:54:07.313-07:002020-06-09T18:54:07.313-07:00如果你是使用 " ch8_1.py: 主程式", 預設它會儲存上次訓練完的模型並...如果你是使用 " ch8_1.py: 主程式", 預設它會儲存上次訓練完的模型並於下次載入已經訓練的模型:<br /># Serialized model<br />if not use_exist_model:<br /> print("\t[Info] Serialized Keras model to %s..." % (KERAS_MODEL_NAME))<br /> with open(KERAS_MODEL_NAME, 'w') as f:<br /> f.write(model.to_json()) <br /> model.save_weights(KERAS_MODEL_WEIG)<br /><br />所以如果你的問題是模型無法反應新的訓練資料, 可以考慮刪除序列化的模型檔案如下:<br />KERAS_MODEL_NAME = 'mnist_model_cnn.model'<br />KERAS_MODEL_WEIG = 'mnist_model_cnn.h5'<br /><br />再重新訓練模型. 如果你是說模型沒有針對你的資料進行預測, 那是因為預設資料都是使用 mnist 資料集:<br />(X_Train, y_Train), (X_Test, y_Test) = mnist.load_data()<br /><br />所以如果你希望提供自己的測試與訓練資料, 就從上面那行改. FYIJohnhttps://www.blogger.com/profile/04682088884492411130noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-60573496392190161132020-06-09T10:19:20.993-07:002020-06-09T10:19:20.993-07:00您好
我在使用小畫家自己製作的數字圖
發現
input_fmt = img_mnist_fmt.re...您好<br />我在使用小畫家自己製作的數字圖<br />發現<br />input_fmt = img_mnist_fmt.reshape(1, 28, 28, 1).astype('float32') / 255<br />print('input_fmt.shape={}'.format(input_fmt.shape))<br />print('The prediction of my data is {}'.format(model.predict_classes(input_fmt)[0]))<br /><br />這裡執行過一遍之後<br />更換圖片再跑一次<br />顯示的結果會跟第一次執行時一樣<br /><br />請問要怎麼解決?廖軒湧https://www.blogger.com/profile/14993333621207730656noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-31918501935356681592020-01-28T02:38:16.419-08:002020-01-28T02:38:16.419-08:00請修改函數:
def isDisplayAvl():
return 'DISPL...請修改函數:<br />def isDisplayAvl(): <br /> return 'DISPLAY' in os.environ.keys() <br /><br />為<br />def isDisplayAvl(): <br /> return True<br /><br />如此你的 win10 系統便可正常顯示圖表.FYIJohnhttps://www.blogger.com/profile/04682088884492411130noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-16921258741708162992020-01-22T16:56:01.685-08:002020-01-22T16:56:01.685-08:00您好 我是w10系統
有點進去網頁看了
可是不太能理解....
是要設定DISPLAY= ?
還是...您好 我是w10系統<br />有點進去網頁看了<br />可是不太能理解....<br />是要設定DISPLAY= ? <br />還是我搞錯了什麼賴俊元https://www.blogger.com/profile/16298110564073318977noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-37516292161876269272019-12-12T21:18:01.445-08:002019-12-12T21:18:01.445-08:00如果你是使用 Windows, 你可以加入環境變數 DISPLAY 來 Work around 這個...如果你是使用 Windows, 你可以加入環境變數 DISPLAY 來 Work around 這個問題. 參考下面連結:<br />https://shaochien.gitbooks.io/command-line-and-environment-variable-tutorial/content/environment-variable.html<br /><br />如果你是使用 Linux, 說明你的環境沒有 GUI, 你需要安裝圖形介面, 請參考下面連結:<br />https://www.linuxidc.com/Linux/2018-04/152000.htmJohnhttps://www.blogger.com/profile/04682088884492411130noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-1115216783740128672019-12-12T07:46:00.790-08:002019-12-12T07:46:00.790-08:00您好
我發現 我的 os.environ.keys() 裡面沒有 'DISPLAY'...您好 <br />我發現 我的 os.environ.keys() 裡面沒有 'DISPLAY'<br />導致畫圖的部分都畫不出來<br />請問有什麼解決方法嗎Anonymoushttps://www.blogger.com/profile/13139193343943357690noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-49814332308341486692019-08-20T18:50:23.676-07:002019-08-20T18:50:23.676-07:00train.py 如果有成功跑完, 應該有下面訊息:
Use tf.where in 2.0, wh...train.py 如果有成功跑完, 應該有下面訊息:<br />Use tf.where in 2.0, which has the same broadcast rule as np.where<br />10000/10000 [==============================] - 1s 131us/step<br /><br />如果沒有, 應該是哪出錯, 可以貼出你的輸出, 這樣方便 debugging.<br /><br />另外 "Keras_MNIST_CNN.ipynb" 可以使用 jupyter notebook 打開, 是用來幫助你理解 train.py 的過程. FYIJohnhttps://www.blogger.com/profile/04682088884492411130noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-18110084630722689482019-08-19T06:55:53.280-07:002019-08-19T06:55:53.280-07:00不好意思,現在才有時間回頭看這程式,
請問train.py這是完整的程式嗎?
我把keras_mni...不好意思,現在才有時間回頭看這程式,<br />請問train.py這是完整的程式嗎?<br />我把keras_mnist_cnn.h5刪掉,<br />重新做train,但是在資料夾內沒看到產生"keras_mnist_cnn.h5"檔案,<br />還是這部分我要自己改寫? <br /><br />另外想請問"Keras_MNIST_CNN.ipynb"檔案的作用是什麼?<br />這是訓練產生的?還是自己寫的?<br /><br />test_my_images.py執行顯示如下<br />if 'class_name' not in config[0] or config[0]['class_name']==<br />'Merge':<br />KeyError:0Frobeniushttps://www.blogger.com/profile/15875163779361954566noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-68473621118058568192019-08-10T02:39:11.433-07:002019-08-10T02:39:11.433-07:00Hi,
Please check below repo:
https://github.com/jo...Hi,<br />Please check below repo:<br />https://github.com/johnklee/keras_mnist_cnnJohnhttps://www.blogger.com/profile/04682088884492411130noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-27244230065922417922019-08-05T05:41:51.395-07:002019-08-05T05:41:51.395-07:00您好,真的是很新的新手,可能我敘述不清楚,
我想把訓練和測試分開寫,希望將測試的部分獨立成一個.py...您好,真的是很新的新手,可能我敘述不清楚,<br />我想把訓練和測試分開寫,希望將測試的部分獨立成一個.py,且餵入自己用小畫家寫的數字圖做測試,<br />先開啟順練的.py執行訓練獲得模型資料且儲存,之後再開啟執行測試的.py檔,匯入已經訓練儲存模型資料,<br />然後餵入自己要測試的數字圖,訓練和測試兩個檔案是獨立的,以上是我想做的。<br />然後有幾個主要問題<br />1.要如何在測試的.py檔引入訓練好的模型?<br />2.要如何餵入自己的".jpg數字圖"且進行辨識?<br /><br />Frobeniushttps://www.blogger.com/profile/15875163779361954566noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-34339398221487523692019-08-05T01:55:14.521-07:002019-08-05T01:55:14.521-07:00你可以參考輸入資料格式:
* MLP : image reshape (60000, 784): M...你可以參考輸入資料格式:<br />* MLP : image reshape (60000, 784): MLP 因為直接送進神經元處理, 所以 60,000 筆轉換為一筆成 28x28 = 784 個神經元輸入.<br />* CNN : image reshape (60000, 28, 28, 1): CNN 因為必須先進行卷積與池化 (Max-Pool) 運算, 所以必須保留影像的維度. 因此 60,000 筆轉換成一筆成 28 (長) x 28(寬) x 1(高) 的影像單位.<br /><br />接著將你的 ".jpg數字圖檔" 轉成上面的格式, 再餵進去程式看看. 如果還是不清楚, 可以使用 print 將:<br /># Read MNIST data <br />(X_Train, y_Train), (X_Test, y_Test) = mnist.load_data() <br /><br />的 X_Train, y_Train 輸出來看看, 應該就會有感覺. FYIJohnhttps://www.blogger.com/profile/04682088884492411130noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-2536140951746942542019-08-01T19:40:17.862-07:002019-08-01T19:40:17.862-07:00您好,我初次接觸AI相關領域,用您的手寫辨識範例程式在學習,
我想把後面的"進行預測&qu...您好,我初次接觸AI相關領域,用您的手寫辨識範例程式在學習,<br />我想把後面的"進行預測"改成餵入自己的".jpg數字圖檔"做辨識測試,<br />但是不知道要怎麼改寫??Frobeniushttps://www.blogger.com/profile/15875163779361954566noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-58186880379617919022019-03-05T06:55:39.251-08:002019-03-05T06:55:39.251-08:00Welcome! Hope it helps.Welcome! Hope it helps.Johnhttps://www.blogger.com/profile/04682088884492411130noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-81046815088544618082019-03-04T18:36:50.694-08:002019-03-04T18:36:50.694-08:00這份很清楚 感恩
這份很清楚 感恩<br />213https://www.blogger.com/profile/00295245444827978187noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-58871845105716771372018-08-30T07:06:25.960-07:002018-08-30T07:06:25.960-07:00John你好:
可以請教如何看到filters裡面的值嗎?John你好:<br /> 可以請教如何看到filters裡面的值嗎?Anonymoushttps://www.blogger.com/profile/05192246233288188464noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-32846700651821166212018-07-02T05:55:43.651-07:002018-07-02T05:55:43.651-07:00THX for your helpTHX for your helpAnonymoushttps://www.blogger.com/profile/05192246233288188464noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-60060264296150043222018-06-27T05:06:28.683-07:002018-06-27T05:06:28.683-07:00原先的影像為 (60000, 784) -> 60000 筆 長度為 784 的向量.
X_T...原先的影像為 (60000, 784) -> 60000 筆 長度為 784 的向量.<br />X_Train.shape[0] 指的就是 60000; 所以 X_Train.shape[0] 就是 784.<br />你可以打印出來驗證看看.<br />FYI<br />Johnhttps://www.blogger.com/profile/04682088884492411130noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-32879052509751407082018-06-26T01:06:53.444-07:002018-06-26T01:06:53.444-07:00你好:
我想請問X_Train4D = X_Train.reshape(X_Train.sh...你好:<br /> 我想請問X_Train4D = X_Train.reshape(X_Train.shape[0], 28, 28, 1).astype('float32') 之中的1和X_Train.shape[0]的0代表甚麼意思?<br />Anonymoushttps://www.blogger.com/profile/05192246233288188464noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-31990096808692047782018-05-27T04:47:48.114-07:002018-05-27T04:47:48.114-07:00Check this:
https://stackoverflow.com/questions/42...Check this:<br />https://stackoverflow.com/questions/42666046/loading-a-trained-keras-model-and-continue-trainingJohnhttps://www.blogger.com/profile/04682088884492411130noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-2757193990542531572018-05-27T00:02:27.474-07:002018-05-27T00:02:27.474-07:00大家好我是個剛接觸深度學習的新手,使用的是keras, 想請問
如果有個訓練好的模型已經model....大家好我是個剛接觸深度學習的新手,使用的是keras, 想請問<br />如果有個訓練好的模型已經model.save存起來了<br />現在想要拿這個模型再訓練<br />只要load.model再model.fit<br />就是拿已經訓練好的模型再加入資料訓練了嗎?<br />還是這模型變成只有最新一批訓練資料的權重而已嗎Anonymoushttps://www.blogger.com/profile/00921235824175464095noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-75421168691672185792018-05-20T23:07:29.474-07:002018-05-20T23:07:29.474-07:00Hi,
請參考代碼 (https://drive.google.com/file/d/0B3JEk...Hi,<br /><br />請參考代碼 (https://drive.google.com/file/d/0B3JEkc9JW7BON2w5SnVvbE9mRTA/view):<br />================<br />use_exist_model = False<br />if os.path.isfile(KERAS_MODEL_NAME): # 如果 Serialized 模型存在, 則載入<br /> train_history = None<br /> with open(KERAS_MODEL_NAME, 'r') as f:<br /> loaded_model_json = f.read()<br /> model = model_from_json(loaded_model_json) <br /> model.load_weights(KERAS_MODEL_WEIG)<br /> model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])<br /> use_exist_model = True<br />else: # Serialized 模型不存在, 重新訓練模型<br /> model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])<br /> train_history = model.fit(x=X_Train4D_norm,<br /> y=y_TrainOneHot, validation_split=0.2,<br /> epochs=10, batch_size=300, verbose=2)<br />================Johnhttps://www.blogger.com/profile/04682088884492411130noreply@blogger.comtag:blogger.com,1999:blog-6093881388384310682.post-66148224660634687952018-05-20T22:55:02.259-07:002018-05-20T22:55:02.259-07:00請問一下,為甚麼卷積層2的input_shape=(28,28,1);
在池化層1的時候不是已經將影...請問一下,為甚麼卷積層2的input_shape=(28,28,1);<br />在池化層1的時候不是已經將影像大小變成14*14 ?<br />Anonymoushttps://www.blogger.com/profile/05192246233288188464noreply@blogger.com