diff --git a/site/en/tutorials/images/transfer_learning_with_hub.ipynb b/site/en/tutorials/images/transfer_learning_with_hub.ipynb index 58ebfc2d20..0d5e04fc9b 100644 --- a/site/en/tutorials/images/transfer_learning_with_hub.ipynb +++ b/site/en/tutorials/images/transfer_learning_with_hub.ipynb @@ -90,6 +90,7 @@ }, "outputs": [], "source": [ + "pip install tf-keras\n", "import numpy as np\n", "import time\n", "\n", @@ -97,6 +98,7 @@ "import matplotlib.pylab as plt\n", "\n", "import tensorflow as tf\n", + "import tf_keras as keras\n", "import tensorflow_hub as hub\n", "\n", "import datetime\n", @@ -150,7 +152,7 @@ "source": [ "IMAGE_SHAPE = (224, 224)\n", "\n", - "classifier = tf.keras.Sequential([\n", + "classifier = keras.Sequential([\n", " hub.KerasLayer(classifier_model, input_shape=IMAGE_SHAPE+(3,))\n", "])" ] @@ -181,7 +183,7 @@ }, "outputs": [], "source": [ - "grace_hopper = tf.keras.utils.get_file('image.jpg','https://storage.googleapis.com/download.tensorflow.org/example_images/grace_hopper.jpg')\n", + "grace_hopper = keras.utils.get_file('image.jpg','https://storage.googleapis.com/download.tensorflow.org/example_images/grace_hopper.jpg')\n", "grace_hopper = Image.open(grace_hopper).resize(IMAGE_SHAPE)\n", "grace_hopper" ] @@ -261,7 +263,7 @@ }, "outputs": [], "source": [ - "labels_path = tf.keras.utils.get_file('ImageNetLabels.txt','https://storage.googleapis.com/download.tensorflow.org/data/ImageNetLabels.txt')\n", + "labels_path = keras.utils.get_file('ImageNetLabels.txt','https://storage.googleapis.com/download.tensorflow.org/data/ImageNetLabels.txt')\n", "imagenet_labels = np.array(open(labels_path).read().splitlines())" ] }, @@ -323,7 +325,7 @@ "source": [ "import pathlib\n", "\n", - "data_file = tf.keras.utils.get_file(\n", + "data_file = keras.utils.get_file(\n", " 'flower_photos.tgz',\n", " 'https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz',\n", " cache_dir='.',\n", @@ -353,7 +355,7 @@ "img_height = 224\n", "img_width = 224\n", "\n", - "train_ds = tf.keras.utils.image_dataset_from_directory(\n", + "train_ds = keras.utils.image_dataset_from_directory(\n", " str(data_root),\n", " validation_split=0.2,\n", " subset=\"training\",\n", @@ -362,7 +364,7 @@ " batch_size=batch_size\n", ")\n", "\n", - "val_ds = tf.keras.utils.image_dataset_from_directory(\n", + "val_ds = keras.utils.image_dataset_from_directory(\n", " str(data_root),\n", " validation_split=0.2,\n", " subset=\"validation\",\n", @@ -419,7 +421,7 @@ }, "outputs": [], "source": [ - "normalization_layer = tf.keras.layers.Rescaling(1./255)\n", + "normalization_layer = keras.layers.Rescaling(1./255)\n", "train_ds = train_ds.map(lambda x, y: (normalization_layer(x), y)) # Where x—images, y—labels.\n", "val_ds = val_ds.map(lambda x, y: (normalization_layer(x), y)) # Where x—images, y—labels." ] @@ -633,9 +635,9 @@ "source": [ "num_classes = len(class_names)\n", "\n", - "model = tf.keras.Sequential([\n", + "model = keras.Sequential([\n", " feature_extractor_layer,\n", - " tf.keras.layers.Dense(num_classes)\n", + " keras.layers.Dense(num_classes)\n", "])\n", "\n", "model.summary()" @@ -683,12 +685,12 @@ "outputs": [], "source": [ "model.compile(\n", - " optimizer=tf.keras.optimizers.Adam(),\n", - " loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),\n", + " optimizer=keras.optimizers.Adam(),\n", + " loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True),\n", " metrics=['acc'])\n", "\n", "log_dir = \"logs/fit/\" + datetime.datetime.now().strftime(\"%Y%m%d-%H%M%S\")\n", - "tensorboard_callback = tf.keras.callbacks.TensorBoard(\n", + "tensorboard_callback = keras.callbacks.TensorBoard(\n", " log_dir=log_dir,\n", " histogram_freq=1) # Enable histogram computation for every epoch." ] @@ -846,7 +848,7 @@ }, "outputs": [], "source": [ - "reloaded = tf.keras.models.load_model(export_path)" + "reloaded = keras.models.load_model(export_path)" ] }, {