我是靠谱客的博主 顺心小土豆,最近开发中收集的这篇文章主要介绍python 无法引用 tensorflow.keras_python – 使用Tensorflow的Keras:根据需要使用...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

你确定你没有使用巨大的batch_size吗?

“添加数据”:说实话,我不知道这意味着什么,如果你能用代码准确描述你在这里做什么,那将会有所帮助.

样本数量不应该导致GPU内存出现任何问题.导致问题的是一个很大的batch_size.

加载庞大的数据集可能会导致CPU RAM问题,与keras / tensorflow无关. numpy数组太大的问题. (您可以通过简单地加载数据来测试“无需创建任何模型”)

如果这是您的问题,您应该使用生成器逐渐加载批次.同样,由于你的问题绝对没有代码,我们无能为力.

但这些只是简单地为图像创建生成器的两种形式:

>使用现有的ImageDataGenerator及其flow_from_directory()方法,explained here

>创建自己的编码生成器,可以是:

循环生成器的快速示例:

def imageBatchGenerator(imageFiles, imageLabels, batch_size):

while True:

batches = len(imageFiles) // batch_size

if len(imageFiles) % batch_size > 0:

batches += 1

for b in range(batches):

start = b * batch_size

end = (b+1) * batch_size

images = loadTheseImagesIntoNumpy(imageFiles[start:end])

labels = imageLabels[start:end]

yield images,labels

Warning: even with generators, you must make sure your batch size is not too big!

使用它:

model.fit_generator(imageBatchGenerator(files,labels,batchSize), steps_per_epoch = theNumberOfBatches, epochs= ....)

在GPU之间划分模型

您应该能够决定哪些GPU由哪个GPU处理,这“可能”可能会优化您的RAM使用率.

例如,在创建模型时:

with tf.device('/gpu:0'):

createLayersThatGoIntoGPU0

with tf.device('/gpu:1'):

createLayersThatGoIntoGPU1

#you will probably need to go back to a previous GPU, as you must define your layers in a proper sequence

with tf.device('/cpu:0'):

createMoreLayersForGPU0

#and so on

我不确定这会好不好,但也值得一试.

最后

以上就是顺心小土豆为你收集整理的python 无法引用 tensorflow.keras_python – 使用Tensorflow的Keras:根据需要使用...的全部内容,希望文章能够帮你解决python 无法引用 tensorflow.keras_python – 使用Tensorflow的Keras:根据需要使用...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部