Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ValueError: Dimension size must be evenly divisible by 2 but is 1 #86

Open
mikechen66 opened this issue Jun 21, 2020 · 0 comments
Open

Comments

@mikechen66
Copy link

mikechen66 commented Jun 21, 2020

While I test the scrip of fintune.py on TensorFlow 1.5, the system throws the errorn as follows. I list the information inlucuding ValueError, possible questionable code and traceback as follows. Appreciate your help in advance.

1. General Message

ValueError: Dimension size must be evenly divisible by 2 but is 1
Number of ways to split should evenly divide the split dimension for 'split_1' (op: 'Split') with input shapes: [], [5,5,2,1] and with computed input

2. Code

It targets to the line of code as follows.

alexnet.py

weight_groups = tf.split(value=weights, num_or_size_splits=group, axis=3) 

3. Detailed Error Message:

$ python finetune.py --conv=4 --dropout_rate=0.03

Traceback (most recent call last):
File "/home/nano/.virtualenvs/win/lib/python3.6/site-packages/tensorflow_core/python/framework/ops.py", line 1607, in _create_c_op
c_op = c_api.TF_FinishOperation(op_desc)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Dimension size must be evenly divisible by 2 but is 1
Number of ways to split should evenly divide the split dimension for 'split_1' (op: 'Split') with input shapes: [], [5,5,2,1] and with computed input tensors: input[0] = <3>.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "finetune.py", line 97, in
model = AlexNet(x, keep_prob, num_classes, train_layers)
File "/home/nano/Documents/finetune_alexnet_with_tf/alexnet.py", line 56, in init
self.create()
File "/home/nano/Documents/finetune_alexnet_with_tf/alexnet.py", line 69, in create
conv2 = conv(pool1, 5, 5, 256, 1, 1, name='conv2', group=2)
File "/home/nano/Documents/finetune_alexnet_with_tf/alexnet.py", line 159, in conv
weight_groups = tf.split(value=weights, num_or_size_splits=group, axis=3)
File "/home/nano/.virtualenvs/win/lib/python3.6/site-packages/tensorflow_core/python/ops/array_ops.py", line 1684, in split
axis=axis, num_split=num_or_size_splits, value=value, name=name)
File "/home/nano/.virtualenvs/win/lib/python3.6/site-packages/tensorflow_core/python/ops/gen_array_ops.py", line 9898, in split
"Split", split_dim=axis, value=value, num_split=num_split, name=name)
File "/home/nano/.virtualenvs/win/lib/python3.6/site-packages/tensorflow_core/python/framework/op_def_library.py", line 794, in _apply_op_helper
op_def=op_def)
File "/home/nano/.virtualenvs/win/lib/python3.6/site-packages/tensorflow_core/python/util/deprecation.py", line 507, in new_func
return func(*args, **kwargs)
File "/home/nano/.virtualenvs/win/lib/python3.6/site-packages/tensorflow_core/python/framework/ops.py", line 3357, in create_op
attrs, op_def, compute_device)
File "/home/nano/.virtualenvs/win/lib/python3.6/site-packages/tensorflow_core/python/framework/ops.py", line 3426, in _create_op_internal
op_def=op_def)
File "/home/nano/.virtualenvs/win/lib/python3.6/site-packages/tensorflow_core/python/framework/ops.py", line 1770, in init
control_input_ops)
File "/home/nano/.virtualenvs/win/lib/python3.6/site-packages/tensorflow_core/python/framework/ops.py", line 1610, in _create_c_op
raise ValueError(str(e))
ValueError: Dimension size must be evenly divisible by 2 but is 1
Number of ways to split should evenly divide the split dimension for 'split_1' (op: 'Split') with input shapes: [], [5,5,2,1] and with computed input

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant