logo
Loading...

訓練模型一直跑不出結果 - Cupoy

我用下載的解答檔案去跑 但是訓練結果跑好幾次 一整天都沒有跑出來 不曉得是程式碼有錯還是真的要跑這麼...

ml100-2-d83,ml100-2

訓練模型一直跑不出結果

2019/07/27 下午 09:49
機器學習共學討論版
cathyy
觀看數:195
回答數:4
收藏數:0
ml100-2-d83
ml100-2

我用下載的解答檔案去跑 但是訓練結果跑好幾次 一整天都沒有跑出來 不曉得是程式碼有錯還是真的要跑這麼久?

我的顯卡是 mx130

程式碼是解答複製上來的 這段 

results = {}
for i, (use_preact, bz) in enumerate(itertools.product(PRE_ACTIVATE, BATCH_SIZE)):
    print("Numbers of exp: %i, use_preact: %s, batch_size: %i" % (i, use_preact, bz))
    model = build_mlp(input_shape=x_train.shape[1:], pre_activate=use_preact)
    model.summary()
    optimizer = keras.optimizers.Adam(lr=LEARNING_RATE)
    model.compile(loss="categorical_crossentropy", metrics=["accuracy"], optimizer=optimizer)

    model.fit(x_train, y_train, 
              epochs=EPOCHS, 
              batch_size=bz, 
              validation_data=(x_test, y_test), 
              verbose=0,
              shuffle=True)
    
    # Collect results
    exp_name_tag = ("exp-%s" % (i))
    results[exp_name_tag] = {'train-loss': model.history.history["loss"],
                             'valid-loss': model.history.history["val_loss"],
                             'train-acc': model.history.history["acc"],
                             'valid-acc': model.history.history["val_acc"]}

回答列表

  • 2019/07/30 上午 01:04
    Seanyu.TW
    贊同數:0
    不贊同數:0
    留言數:1

    請問有任何錯誤訊息嗎? 另外在執行時,應該會看到一條 progress bar 在跑,請問是否有看到它在動呢?

  • 2019/08/01 下午 00:08
    張維元 (WeiYuan)
    贊同數:1
    不贊同數:0
    留言數:0

    嗨,可以把 epochs、batch_size 先設小一點跑跑看,是否有結果?先確認是跑不完,還是不能跑。

  • 2019/08/01 下午 00:20
    陳明佑 (Ming You Chen)
    贊同數:0
    不贊同數:0
    留言數:0

    同學您好

    正如Sean助教所問的 : 我們要幫你判斷, 還需要知道你的Keras進度條有沒有出現?

    進度條在ipynb上長這樣

    在指令環境下長這樣

    有的話就表示只是GPU慢  (但通常GPU跑3分鐘的, 用CPU跑也能1.5小時跑完, 不用跑一整天)

    沒有的話就是連記憶體都不夠  根本在載入階段就沒了 (這樣等N年都不會動)


    看你回答, 我猜你的畫面可能連進度條都沒出現吧?

    而且MX130, 似乎是筆記本電腦的GPU型號, 

    如果確定是用用筆電跑, 那麼就很有可能是記憶體不足了


    這時候我們會建議您, 先試著先改用colab執行這些作業

    或者將資料集先做抽樣, 先用較少筆的資料(比如說先抽十分之一or百分之一)跑跑看

    跑得動, 那就可以確定是記憶體問題了

  • 2019/08/09 下午 11:06
    羅芳彥
    贊同數:0
    不贊同數:0
    留言數:1

    在Batch size太小的情況下GPU沒辦法發揮他平行化的優勢,建議版主先將Batch size調大(如1024)看看訓練速度是否跟以往差不多,詳情可以見李弘毅老師的影片(28分開始)

    https://www.youtube.com/watch?v=Lx3l4lOrquw&list=PLJV_el3uVTsPy9oCRY30oBPNLCo89yu49&index=13