Я использую Google Collab для обучения 3D-автоэнкодеру. Я успешно обучил модель с помощью функции model.fit со следующей моделью model.summary ():
Layer (type) Output Shape Param #
=================================================================
input_1 (InputLayer) (None, 128, 128, 128, 1) 0
_________________________________________________________________
conv3d_1 (Conv3D) (None, 64, 64, 64, 64) 1792
_________________________________________________________________
conv3d_2 (Conv3D) (None, 32, 32, 32, 128) 221312
_________________________________________________________________
conv3d_3 (Conv3D) (None, 16, 16, 16, 256) 884992
_________________________________________________________________
conv3d_4 (Conv3D) (None, 8, 8, 8, 256) 1769728
_________________________________________________________________
conv3d_5 (Conv3D) (None, 8, 8, 8, 256) 1769728
_________________________________________________________________
up_sampling3d_1 (UpSampling3 (None, 16, 16, 16, 256) 0
_________________________________________________________________
conv3d_6 (Conv3D) (None, 16, 16, 16, 256) 1769728
_________________________________________________________________
up_sampling3d_2 (UpSampling3 (None, 32, 32, 32, 256) 0
_________________________________________________________________
conv3d_7 (Conv3D) (None, 32, 32, 32, 128) 884864
_________________________________________________________________
up_sampling3d_3 (UpSampling3 (None, 64, 64, 64, 128) 0
_________________________________________________________________
conv3d_8 (Conv3D) (None, 64, 64, 64, 64) 221248
_________________________________________________________________
up_sampling3d_4 (UpSampling3 (None, 128, 128, 128, 64) 0
_________________________________________________________________
conv3d_9 (Conv3D) (None, 128, 128, 128, 1) 1729
=================================================================
Total params: 7,525,121
Trainable params: 7,525,121
Non-trainable params: 0
обучение прошло успешно, и я сохранил модель как model.h5
я запустил отдельная ячейка в том же проекте для тестирования модели со следующим кодом:
from tensorflow.keras.models import load_model
from keras import backend as K
K.clear_session()
model = load_model('model.h5')
x_test = np.load('test.npy')
x_train = x_train.astype('float32') / 255.
x_test = x_test.astype('float32') / 255.
x_train = np.reshape(x_train, (len(x_train), 128, 128, 128, 1))
x_test = np.reshape(x_test, (len(x_test), 128, 128, 128, 1))
decoded_imgs = model.predict(x_test)
, и он предлагает мне следующий код ошибки:
ResourceExhaustedError: OOM при выделении тензора с shape [25,128,128,64,64] и типа float on / job: localhost / replica: 0 / task: 0 / device: GPU: 0 от распределителя GPU_0_bfc [[node model_1 / up_sampling3d_4 / concat_1 (определено в: 47)]] Подсказка : Если вы хотите видеть список выделенных тензоров, когда происходит OOM, добавьте report_tensor_allocations_upon_oom в RunOptions для получения информации о текущем распределении. [Op: __ inference_predict_function_63155] Стек вызовов функции: pred_function
почему возможно, что я могу обучать модель с той же системой, но не могу запустить model.predict ?! у кого-нибудь есть ответ, пожалуйста :(
Я использую googla colab pro со следующими характеристиками графического процессора:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.82 Driver Version: 418.67 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla P100-PCIE... Off | 00000000:00:04.0 Off | 0 |
| N/A 62C P0 48W / 250W | 15559MiB / 16280MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
+-----------------------------------------------------------------------------+