【发布时间】:2018-10-24 03:58:53
【问题描述】:
我需要帮助来最小化内存泄漏疑似代码。
我正在使用 Keras 最新的 tensorflow 1.8.0 和 python 3.6
当程序开始时,它逐渐增长到 giganytes..!!在这里需要帮助。
我正在使用 VGG16 网络对图像进行分类。我无法定位导致内存泄漏的问题。
是 tensorflow 的 bug 还是 python 受苦于这样的工作
代码是:
class_labels = ['cc','','cc','xx']
image = load_img(img_path, target_size=target_size)
image_arr = img_to_array(image) # convert from PIL Image to NumPy array
image_arr /= 255
image_arr = np.expand_dims(image_arr, axis=0)
model = applications.VGG16(include_top=False, weights='imagenet')
bottleneck_features = model.predict(image_arr)
model = create_top_model("softmax", bottleneck_features.shape[1:])
model.load_weights("res/_top_model_weights.h5")
numpy_horizontal_concat = cv2.imread(img_path)
xxx=1
path ="/home/dataset/test"
listOfFiles = os.listdir(path)
random.shuffle(listOfFiles)
pattern = "*.jpg"
model = applications.VGG16(include_top=False, weights='imagenet')
for entry in listOfFiles:
if fnmatch.fnmatch(entry, pattern):
image = load_img(path+"/"+ entry, target_size=target_size)
start_time = time.time()
image_arr = img_to_array(image) # convert from PIL Image to NumPy array
image_arr /= 255
image_arr = np.expand_dims(image_arr, axis=0)
bottleneck_features = model.predict(image_arr)
model2 = create_top_model("softmax", bottleneck_features.shape[1:])
model2.load_weights("res/_top_model_weights.h5")
predicted = model2.predict(bottleneck_features)
decoded_predictions = dict(zip(class_labels, predicted[0]))
decoded_predictions = sorted(decoded_predictions.items(), key=operator.itemgetter(1), reverse=True)
elapsed_time = time.time() - start_time
print()
count = 1
for key, value in decoded_predictions[:5]:
print("{}. {}: {:8f}%".format(count, key, value * 100))
print("time: " , time.strftime("%H:%M:%S", time.gmtime(elapsed_time)) , " - " , elapsed_time)
count += 1
#OPENCV concat test
#numpy_horizontal_concat = np.concatenate((mat_image,numpy_horizontal_concat), axis=0)
hide_img = True
model2=""
predicted=""
image_arr=""
image=""
【问题讨论】:
-
似乎有很多与 Keras 中奇怪的内存使用有关的问题。我收集了这篇文章的解决方法列表Keras memory leak
标签: python-3.x tensorflow memory-leaks keras deep-learning