我使用tensorflow与Nvidia Geforce 1060(6G内存)训练CNN,但出现OOM异常。
前两个 epoch 的训练过程很好,但在第三个 epoch 时出现了 OOM 异常。
============================ 2017-10-27 11:47:30.219130:Wtensorflow/core/common_runtime/bfc_allocator.cc: 277】**************************************************** ******************************************************xxxxxx 2017-10 -27 11:47:30.265389: W tensorflow/core/framework/op_kernel.cc:1192] 资源耗尽:使用形状分配张量时出现 OOM [10,10,48,48,48] 回溯(最近一次调用):文件“/anaconda3/lib/python3.6/sitepackages/tensorflow/python/client/session.py”,第 1327 行,在 _do_call 返回 fn(*args) 文件“/anaconda3/lib/python3.6/site-packages/tensorflow /python/client/session.py”,第 1306 行,在 _run_fn 状态,run_metadata) 文件“/anaconda3/lib/python3.6/contextlib.py”,第 88 行,在退出 next(self.gen) 文件“/anaconda3 /lib/python3.6/site-packages/tensorflow/python/framework/errors_impl.py",第 466 行,在 raise_exception_on_not_ok_status pywrap_tensorflow.TF_GetCode(status))tensorflow.python.framework.errors_impl.ResourceExhaustedError:分配具有形状的张量时出现 OOM [10,10,48,48,48] [[节点:gradients_4/global/ detector_scope/maxpool_conv3d_2/MaxPool3D_grad/MaxPool3DGrad = MaxPool3DGrad[T=DT_FLOAT, TInput=DT_FLOAT, data_format="NDHWC", ksize=[1, 2, 2, 2, 1], padding="VALID", strides=[1, 2, 2, 2, 1], _device="/job:localhost/replica:0/task:0/gpu:0"](全局/ detector_scope / maxpool_conv3d_2 /转置,全局/ detector_scope / maxpool_conv3d_2 / MaxPool3D,gradients_4 / global / detector_scope / …
原型模式的目标是通过降低创建成本来克隆对象.这是一个例子:
class Complex {
int[] nums = {1,2,3,4,5};
public Complex clone() {
return new Complex();//this line create a new object, so is it violate the objective of prototype ?//
}
}
class Test2 {
Complex c1 = new Complex();
Complex makeCopy() {
return (Complex)c1.clone();// Is it actually create a new object ? based on the clone method in Complex class? //
}
public static void main(String[] args) {
Test2 tp = new Test2();
Complex c2 = tp.makeCopy();
}
}
Run Code Online (Sandbox Code Playgroud)
我认为这是深刻的复制.所以,有人可以帮我解决这个问题吗?