簡體   English   中英

帶有 tensorflow-gpu 的 Keras 完全凍結了 PC

[英]Keras with tensorflow-gpu totally freezes PC

我有非常簡單的架構 lstm NN。 在幾個 epoch 1-2 之后,我的電腦完全死機,我什至無法移動鼠標:

Layer (type)                 Output Shape              Param #   
=================================================================
lstm_4 (LSTM)                (None, 128)               116224    
_________________________________________________________________
dropout_3 (Dropout)          (None, 128)               0         
_________________________________________________________________
dense_5 (Dense)              (None, 98)                12642     
=================================================================
Total params: 128,866
Trainable params: 128,866
Non-trainable params: 0

    # Same problem  with 2 layers LSTM  with dropout and Adam optimizer

    SEQUENCE_LENGTH =3, len(chars) = 98
    model = Sequential()
    model.add(LSTM(128, input_shape = (SEQUENCE_LENGTH, len(chars))))
    #model.add(Dropout(0.15))
    #model.add(LSTM(128))
    model.add(Dropout(0.10))
    model.add(Dense(len(chars), activation = 'softmax'))

    model.compile(loss = 'categorical_crossentropy', optimizer = RMSprop(lr=0.01), metrics=['accuracy'])

我是這樣訓練的:

history = model.fit(X, y, validation_split=0.20, batch_size=128, epochs=10, shuffle=True,verbose=2).history

NN 需要 5 分鍾才能完成 1 個 epoch。 更大的批量並不意味着問題會更快地發生。 但是更復雜的模型可以訓練更多的時間來達到幾乎相同的准確度 - 大約 0.46(完整代碼在這里

我有最新的 Linux Mint, 1070ti 8GB, 32Gb ram

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 396.26 Driver Version: 396.26 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 107... Off | 00000000:08:00.0 On | N/A |
| 0% 35C P8 10W / 180W | 303MiB / 8116MiB | 0% Default |
+-------------------------------+----------------------+----------------------+

圖書館:

Keras==2.2.0
Keras-Applications==1.0.2
Keras-Preprocessing==1.0.1
keras-sequential-ascii==0.1.1
keras-tqdm==2.0.1
tensorboard==1.8.0
tensorflow==1.0.1
tensorflow-gpu==1.8.0

我曾嘗試限制 GPU 內存使用,但這里不會有問題,因為在訓練期間它只吃 1 GB 的 GPU 內存:

from keras.backend.tensorflow_backend 
import set_session config = tf.ConfigProto() 

config.gpu_options.per_process_gpu_memory_fraction = 0.9 

config.gpu_options.allow_growth = True set_session(tf.Session(config=config))

這里有什么問題? 我該如何解決這個問題?

我有這個確切的問題。 計算機在訓練大約 15 分鍾后就死機了。 我發現它是一個內存 SIMM 卡,當它變熱/變熱時就死了。 如果你有不止一張SIMM卡,你可以一次取出一張,看看是不是罪魁禍首。

  • 請先移除tensorflow==1.0.1 cpu 版本。 嘗試通過從此處提到的來源構建 TensorFlow 來安裝tensorflow-gpu==1.8.0

或者

  • 在 GPU 上訓練模型時用CuDNNLSTM替換LSTM 稍后將訓練好的模型權重加載到與 LSTM 層相同的模型架構中,以在 CPU 上使用該模型。 (確保在重新加載 CuDNNLSTM 模型權重時在 LSTM 層中使用recurrent_activation='sigmoid' !)

這對我來說有點奇怪,但問題與我 2018 年 4 月剛剛從 AMD 發布的新 CPU 相關。 因此,擁有最新的 linux 內核至關重要:按照本指南https://itsfoss.com/upgrade-linux-kernel-ubuntu/我將內核從 4.13 更新到 4.17 - 現在一切正常

UPD:主板也讓系統崩潰,我已經改變了 - 現在一切正常

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM