Open Edw2n opened 4 years ago
What error do you get when you call render?
@colah The error message is as follows:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-36-5878bc10721e> in <module>()
3 #_ = render.render_vis(model, obj)
4
----> 5 _ = render.render_vis(model,"Softmax:0")
6 frames
/usr/local/lib/python3.6/dist-packages/lucid/optvis/render.py in render_vis(model, objective_f, param_f, optimizer, transforms, thresholds, print_objectives, verbose, relu_gradient_override, use_fixed_seed)
93
94 T = make_vis_T(model, objective_f, param_f, optimizer, transforms,
---> 95 relu_gradient_override)
96 print_objective_func = make_print_objective_func(print_objectives, T)
97 loss, vis_op, t_image = T("loss"), T("vis_op"), T("input")
/usr/local/lib/python3.6/dist-packages/lucid/optvis/render.py in make_vis_T(model, objective_f, param_f, optimizer, transforms, relu_gradient_override)
175 with gradient_override_map({'Relu': redirected_relu_grad,
176 'Relu6': redirected_relu6_grad}):
--> 177 T = import_model(model, transform_f(t_image), t_image)
178 else:
179 T = import_model(model, transform_f(t_image), t_image)
/usr/local/lib/python3.6/dist-packages/lucid/optvis/render.py in import_model(model, t_image, t_image_raw, scope, input_map)
255 t_image_raw = t_image
256
--> 257 T_ = model.import_graph(t_image, scope=scope, forget_xy_shape=True, input_map=input_map)
258
259 def T(layer):
/usr/local/lib/python3.6/dist-packages/lucid/modelzoo/vision_base.py in import_graph(self, t_input, scope, forget_xy_shape, input_map)
199 final_input_map.update(input_map)
200 tf.import_graph_def(
--> 201 self.graph_def, final_input_map, name=scope)
202 self.post_import(scope)
203
/tensorflow-1.15.2/python3.6/tensorflow_core/python/util/deprecation.py in new_func(*args, **kwargs)
505 'in a future version' if date is None else ('after %s' % date),
506 instructions)
--> 507 return func(*args, **kwargs)
508
509 doc = _add_deprecated_arg_notice_to_docstring(
/tensorflow-1.15.2/python3.6/tensorflow_core/python/framework/importer.py in import_graph_def(graph_def, input_map, return_elements, name, op_dict, producer_op_list)
403 name=name,
404 op_dict=op_dict,
--> 405 producer_op_list=producer_op_list)
406
407
/tensorflow-1.15.2/python3.6/tensorflow_core/python/framework/importer.py in _import_graph_def_internal(graph_def, input_map, return_elements, validate_colocation_constraints, name, op_dict, producer_op_list)
533 raise ValueError(
534 'Attempted to map inputs that were not found in graph_def: [%s]' %
--> 535 ', '.join(missing_unused_input_keys))
536
537 if return_elements is None:
**ValueError: Attempted to map inputs that were not found in graph_def: [input:0]**
Attempted to map inputs that were not found in graph_def: [input:0]
When you exported your model, you had to declare what the name of the input node to your model was. It appears that you may have made an error when doing so, and that the name you gave doens't exist in the model.
@colah , Thanks to your answer, I solved the problem. However, I have one more problem in rendering my model.
Here is my error message
---------------------------------------------------------------------------
InvalidArgumentError Traceback (most recent call last)
/tensorflow-1.15.2/python3.6/tensorflow_core/python/framework/importer.py in _import_graph_def_internal(graph_def, input_map, return_elements, validate_colocation_constraints, name, op_dict, producer_op_list)
500 results = c_api.TF_GraphImportGraphDefWithResults(
--> 501 graph._c_graph, serialized, options) # pylint: disable=protected-access
502 results = c_api_util.ScopedTFImportGraphDefResults(results)
InvalidArgumentError: Negative dimension size caused by subtracting 2 from 1 for 'import/max_pooling2d_1/MaxPool' (op: 'MaxPool') with input shapes: [1,32,?,1].
During handling of the above exception, another exception occurred:
ValueError Traceback (most recent call last)
7 frames
/tensorflow-1.15.2/python3.6/tensorflow_core/python/framework/importer.py in _import_graph_def_internal(graph_def, input_map, return_elements, validate_colocation_constraints, name, op_dict, producer_op_list)
503 except errors.InvalidArgumentError as e:
504 # Convert to ValueError for backwards compatibility.
--> 505 raise ValueError(str(e))
506
507 # Create _DefinedFunctions for any imported functions.
ValueError: Negative dimension size caused by subtracting 2 from 1 for 'import/max_pooling2d_1/MaxPool' (op: 'MaxPool') with input shapes: [1,32,?,1].
The link below is the colab notebook where the problem occurred. https://colab.research.google.com/drive/1UPtYvjM_qurK1SwkfNa-4cekb07Nz93-?usp=sharing
And also, I attached another colab notebook about building own model, so please refer to it if necessary. https://colab.research.google.com/drive/1CSRftnEDQiyXIlMwWrfWNgHQcdvUPCtH?usp=sharing
How can I solve this part?
When you run feature visualization, you optimize an image of size set by the argument param_f
. Some models are incompatible with certain input sizes. Try doing something like:
render.render_vis(model, "conv2d_2/convolution:3",
param_f=lambda: param.image(MODEL_INPUT_WIDTH))
@colah , Thanks to your answer, I solved the problem. However, I have one more problem in rendering my model.
Here is my error message
--------------------------------------------------------------------------- InvalidArgumentError Traceback (most recent call last) /tensorflow-1.15.2/python3.6/tensorflow_core/python/framework/importer.py in _import_graph_def_internal(graph_def, input_map, return_elements, validate_colocation_constraints, name, op_dict, producer_op_list) 500 results = c_api.TF_GraphImportGraphDefWithResults( --> 501 graph._c_graph, serialized, options) # pylint: disable=protected-access 502 results = c_api_util.ScopedTFImportGraphDefResults(results) InvalidArgumentError: Negative dimension size caused by subtracting 2 from 1 for 'import/max_pooling2d_1/MaxPool' (op: 'MaxPool') with input shapes: [1,32,?,1]. During handling of the above exception, another exception occurred: ValueError Traceback (most recent call last) 7 frames /tensorflow-1.15.2/python3.6/tensorflow_core/python/framework/importer.py in _import_graph_def_internal(graph_def, input_map, return_elements, validate_colocation_constraints, name, op_dict, producer_op_list) 503 except errors.InvalidArgumentError as e: 504 # Convert to ValueError for backwards compatibility. --> 505 raise ValueError(str(e)) 506 507 # Create _DefinedFunctions for any imported functions. ValueError: Negative dimension size caused by subtracting 2 from 1 for 'import/max_pooling2d_1/MaxPool' (op: 'MaxPool') with input shapes: [1,32,?,1].
The link below is the colab notebook where the problem occurred. https://colab.research.google.com/drive/1UPtYvjM_qurK1SwkfNa-4cekb07Nz93-?usp=sharing
And also, I attached another colab notebook about building own model, so please refer to it if necessary. https://colab.research.google.com/drive/1CSRftnEDQiyXIlMwWrfWNgHQcdvUPCtH?usp=sharing
How can I solve this part?
hello, have you solved this problem?
When you run feature visualization, you optimize an image of size set by the argument
param_f
. Some models are incompatible with certain input sizes. Try doing something like:render.render_vis(model, "conv2d_2/convolution:3", param_f=lambda: param.image(MODEL_INPUT_WIDTH))
hello, I try this, but it doesn't work.
paramf = lambda: param.image(128) = render.render_vis(model, "73/BiasAdd:2", param_f)
I'm trying to follow this link [https://github.com/tensorflow/lucid/wiki/Importing-Models-into-Lucid]
And I have error in feature visualization of a layer with lucid
render.render_vis(model, "Conv2D_3:0")
What is the proper parameter in my case?
I checked my node name with this code
And results are below.
Could you help me how can I solve this problem? :)