I use dynamic size as
`[[(3, x ,x), 256*8] for x in range(160, 225, 8)]`
and I got "out of memory" when change the size every three epoch:
```
terminate called after throwing an instance of 'dmlc::Error'
what(): [11:37:28] src/engine/./threaded_engine.h:359: [11:37:28]
src/storage/./pooled_storage_manager.h:107: cudaMalloc failed: out of memory
```
my dataiter is like:
```
class data_iter(object):
def __init__(self, istrain=0, num_round=3):
self.data = get_data()
self.iter = 0
self.istrain = 1
self.numepoch = 0
self.num_round = num_round
def next(self):
return self.data[self.iter][self.istrain].next()
def __iter__(self):
return self
@property
def provide_data(self):
return self.data[self.iter][self.istrain].provide_data
@property
def provide_label(self):
return self.data[self.iter][self.istrain].provide_label
def __next__(self):
return self.next()
def reset(self):
self.data[self.iter][self.istrain].reset()
self.numepoch += 1
if self.numepoch % self.num_round == 0 and self.iter != -1:
self.iter += 1
if self.iter >= len(self.data):
self.iter = -1
```
Where get_data() is the list of multiple data_iter.
[ Full content available at:
https://github.com/apache/incubator-mxnet/issues/12460 ]
This message was relayed via gitbox.apache.org for [email protected]