簡體   English   中英

從多個Jupiter筆記本訪問內存數據

[英]Access in-memory data from multiple Jupiter notebooks

我有多個GPU,可以並行訓練不同的神經網絡,但是不幸的是,由於數據量大,受CPU內存的限制,並且不能在不同的筆記本上運行多個模型,因為我必須加載數據每個筆記本。

是否可以從一個筆記本加載數據並通過另一個筆記本訪問數據?

我正在使用TensorFlow / Keras

與其嘗試將所有內容加載到內存中,不如使用生成器函數。 這會將數據分批讀取到內存中,然后將這些批數據通過神經網絡推送。 Keras具有內置的生成器功能,其確切目的是從磁盤中批量讀取圖像數據。

請參考https://keras.io/preprocessing/image/

這是一個小的示例腳本:

from keras.preprocessing.image import ImageDataGenerator

train_datagen = ImageDataGenerator(
        rescale=1./255,
        shear_range=0.2,
        zoom_range=0.2,
        horizontal_flip=True)

test_datagen = ImageDataGenerator(rescale=1./255)

train_generator = train_datagen.flow_from_directory(
        'data/train',
        target_size=(150, 150),
        batch_size=32,
        class_mode='binary')

validation_generator = test_datagen.flow_from_directory(
        'data/validation',
        target_size=(150, 150),
        batch_size=32,
        class_mode='binary')

model.fit_generator(
        train_generator,
        steps_per_epoch=2000,
        epochs=50,
        validation_data=validation_generator,
        validation_steps=800)

以上假設您正在執行二進制分類(在“ class_mode”下設置),但是您也可以進行“分類”,“稀疏”,“輸入”等。如果您還需要其他內容,則還可以創建自己的生成器或改編凱拉斯之一。

暫無
暫無

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

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