You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
import tensorflow_hub as hub
import os
# Load compressed models from tensorflow_hub
os.environ['TFHUB_MODEL_LOAD_FORMAT'] = 'COMPRESSED'
preproc_layers = tf.keras.Sequential([
tf.keras.layers.Lambda(lambda img:
tf.image.resize_with_pad(
img, 2*IMG_HEIGHT, 2*IMG_WIDTH),
input_shape=(None, None, 3)),
tf.keras.layers.experimental.preprocessing.CenterCrop(
height=IMG_HEIGHT, width=IMG_WIDTH)
])
def apply_preproc(img, label):
# add to a batch, call preproc, remove from batch
x = tf.expand_dims(img, 0)
x = preproc_layers(x)
x = tf.squeeze(x, 0)
return x, label
# parameterize to the values in the previous cell
def train_and_evaluate(batch_size = 32,
lrate = 0.001,
l1 = 0.,
l2 = 0.,
num_hidden = 16):
regularizer = tf.keras.regularizers.l1_l2(l1, l2)
train_dataset = tf.data.TFRecordDataset(
[filename for filename in tf.io.gfile.glob(
'gs://practical-ml-vision-book/flowers_tfr/train-*')
],
compression_type='GZIP'
).map(parse_tfr).map(apply_preproc).batch(batch_size)
eval_dataset = tf.data.TFRecordDataset(
[filename for filename in tf.io.gfile.glob(
'gs://practical-ml-vision-book/flowers_tfr/valid-*')
],
compression_type='GZIP'
).map(parse_tfr).map(apply_preproc).batch(batch_size)
layers = [
hub.KerasLayer(
"https://tfhub.dev/google/tf2-preview/mobilenet_v2/feature_vector/4",
input_shape=(IMG_HEIGHT, IMG_WIDTH, IMG_CHANNELS),
trainable=False,
name='mobilenet_embedding'),
tf.keras.layers.Dense(num_hidden,
kernel_regularizer=regularizer,
activation=tf.keras.activations.relu,
name='dense_hidden'),
tf.keras.layers.Dense(len(CLASS_NAMES),
kernel_regularizer=regularizer,
activation='softmax',
name='flower_prob')
]
model = tf.keras.Sequential(layers, name='flower_classification')
model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=lrate),
loss=tf.keras.losses.SparseCategoricalCrossentropy(
from_logits=False),
metrics=['accuracy'])
print(model.summary())
history = model.fit(train_dataset, validation_data=eval_dataset, epochs=10)
training_plot(['loss', 'accuracy'], history)
return model
and got the following error:
ValueError Traceback (most recent call last) in <cell line: 1>()
----> 1 model = train_and_evaluate()
20 frames /usr/local/lib/python3.10/dist-packages/tensorflow/python/framework/ops.py in _create_c_op(graph, node_def, inputs, control_inputs, op_def, extract_traceback)
1971 except errors.InvalidArgumentError as e:
1972 # Convert to ValueError for backwards compatibility.
-> 1973 raise ValueError(e.message)
1974
1975 # Record the current Python stack trace as the creating stacktrace of this
ValueError: in user code:
File "<ipython-input-29-30d7b53cf7ed>", line 19, in apply_preproc *
x = tf.squeeze(x, 0)
ValueError: Can not squeeze dim[0], expected a dimension of 1, got 224 for '{{node Squeeze}} = Squeeze[T=DT_FLOAT, squeeze_dims=[0]](sequential_5/center_crop_3/cond/Identity)' with input shapes: [224,224,?].
Even though the code is good in your book but contains several errors.
I hope you can assist in fixing the error.
Thanks,
Ankush Singal
The text was updated successfully, but these errors were encountered:
Hi,
I was running code:
and got the following error:
ValueError Traceback (most recent call last)
in <cell line: 1>()
----> 1 model = train_and_evaluate()
20 frames
/usr/local/lib/python3.10/dist-packages/tensorflow/python/framework/ops.py in _create_c_op(graph, node_def, inputs, control_inputs, op_def, extract_traceback)
1971 except errors.InvalidArgumentError as e:
1972 # Convert to ValueError for backwards compatibility.
-> 1973 raise ValueError(e.message)
1974
1975 # Record the current Python stack trace as the creating stacktrace of this
ValueError: in user code:
Even though the code is good in your book but contains several errors.
I hope you can assist in fixing the error.
Thanks,
Ankush Singal
The text was updated successfully, but these errors were encountered: