enas icon indicating copy to clipboard operation
enas copied to clipboard

micro_search (non-final) throwing errors in slicing when using pooling branches

Open MrtnMndt opened this issue 6 years ago • 0 comments

Hi, I was able to reproduce most of your paper's experiments with minor modifications to the code such as changing the hyper-parameters and implementing pooling functions in the macro_search_final.

So thank you for open-sourcing this code!

In the case of the macro search I can run both search and final_search with any architecture. For the micro search the final version with your given architecture also seems to work. However if I try to conduct the micro search on CIFAR10 I get the following errors after graph construction when attempting to run the session with more than 4 branches, i.e. including pooling operations:

[[Node: child/layer_0/cell_0/x/strided_slice_3 = StridedSlice[Index=DT_INT32, T=DT_FLOAT, begin_mask=30, ellipsis_mask=0, end_mask=30, new_axis_mask=0, shrink_axis_mask=1, _device="/job:localhost/replica:0/task:0/device:GPU:0"](child/layer_0/cell_0/x/stack, child/layer_7/cell_0/x/strided_slice_3/stack, child/layer_7/cell_0/x/strided_slice_3/stack_1, child/layer_7/cell_4/x/strided_slice_2/stack_2)]]
2018-06-20 14:21:34.518579: W tensorflow/core/framework/op_kernel.cc:1192] Invalid argument: slice index 5 of dimension 0 out of bounds.
	 [[Node: child/layer_0/cell_0/x/strided_slice_3 = StridedSlice[Index=DT_INT32, T=DT_FLOAT, begin_mask=30, ellipsis_mask=0, end_mask=30, new_axis_mask=0, shrink_axis_mask=1, _device="/job:localhost/replica:0/task:0/device:GPU:0"](child/layer_0/cell_0/x/stack, child/layer_7/cell_0/x/strided_slice_3/stack, child/layer_7/cell_0/x/strided_slice_3/stack_1, child/layer_7/cell_4/x/strided_slice_2/stack_2)]]

followed by the error message of the tf-graph crashing. I downgraded my TF version to 1.4, as well as using Python 2.7 on Ubuntu 16.04 as suggested in one of the closed issues.

I think I roughly get where this is pointing to in the code: enas_cell of the micro child where there seems to be some indexing mismatch. Given that none of the tensorflow variable scopes give a name of "strided_slice" I am unable to pinpoint and thus fix the problem though. (If I understand correctly the strided_slice could also just be the graphs version of extended slicing like [:,0:5] etc.?)

I would greatly appreciate any help in fixing this. If you wish I can send a PR with all the other changes once fixed as well.

MrtnMndt avatar Jun 20 '18 13:06 MrtnMndt