我正在尝试从https://arxiv.org/abs/1602.02697复制结果, 但按照黑盒教程https://github.com/tensorflow/cleverhans/blob/master/cleverhans_tutorials/mnist_blackbox.py
使用尺寸 224x224x3 的图片但是,我遇到了内存消耗错误(粘贴在下面)。在我看来,Jacobian数据集扩充可能是源问题: https://github.com/tensorflow/cleverhans/blob/master/cleverhans/utils_tf.py#L657
但是,我不知道如何检查。
我正在8GB GPU上运行代码。
是不是这种方法不能在较大的图像上使用?我怎样才能解决这个问题?该方法的复杂性是什么?
...
2019-02-07 18:21:32.984709: I tensorflow/core/common_runtime/bfc_allocator.cc:645] Sum Total of in-use chunks: 7.31GiB
2019-02-07 18:21:32.984715: I tensorflow/core/common_runtime/bfc_allocator.cc:647] Stats:
Limit: 7860224000
InUse: 7848987648
MaxInUse: 7848987648
NumAllocs: 10041921
MaxAllocSize: 2424832000
2019-02-07 18:21:32.984831: W tensorflow/core/common_runtime/bfc_allocator.cc:271] ****************************************************************************************************
2019-02-07 18:21:32.984849: W tensorflow/core/framework/op_kernel.cc:1273] OP_REQUIRES failed at transpose_op.cc:199 : Resource exhausted: OOM when allocating tensor with shape[4,256,56,56] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
答案 0 :(得分:0)
最可能的解释是,X_batch
的大小在每次迭代p_idxs
时都会加倍。如果您通过调用CleverHans中提供的batch_eval
来代替L698-703,则即使在ImageNet上,您也很可能能够计算出这一点。如果这可以解决您的问题,请随时作为PR向GitHub上的CleverHans提交。