[英]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
或者
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.