mirror of
https://github.com/fchollet/deep-learning-with-python-notebooks.git
synced 2021-07-27 01:28:40 +03:00
Update notebooks for TF 2.6
This commit is contained in:
@@ -1135,7 +1135,7 @@
|
|||||||
},
|
},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"model = models.Sequential([\n",
|
"model = keras.Sequential([\n",
|
||||||
" layers.Dense(512, activation=\"relu\"),\n",
|
" layers.Dense(512, activation=\"relu\"),\n",
|
||||||
" layers.Dense(10, activation=\"softmax\")\n",
|
" layers.Dense(10, activation=\"softmax\")\n",
|
||||||
"])"
|
"])"
|
||||||
@@ -1280,12 +1280,16 @@
|
|||||||
},
|
},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
|
"import math\n",
|
||||||
|
"\n",
|
||||||
"class BatchGenerator:\n",
|
"class BatchGenerator:\n",
|
||||||
" def __init__(self, images, labels, batch_size=128):\n",
|
" def __init__(self, images, labels, batch_size=128):\n",
|
||||||
|
" assert len(images) == len(labels)\n",
|
||||||
" self.index = 0\n",
|
" self.index = 0\n",
|
||||||
" self.images = images\n",
|
" self.images = images\n",
|
||||||
" self.labels = labels\n",
|
" self.labels = labels\n",
|
||||||
" self.batch_size = batch_size\n",
|
" self.batch_size = batch_size\n",
|
||||||
|
" self.num_batches = math.ceil(len(images) / batch_size)\n",
|
||||||
"\n",
|
"\n",
|
||||||
" def next(self):\n",
|
" def next(self):\n",
|
||||||
" images = self.images[self.index : self.index + self.batch_size]\n",
|
" images = self.images[self.index : self.index + self.batch_size]\n",
|
||||||
@@ -1374,7 +1378,7 @@
|
|||||||
" for epoch_counter in range(epochs):\n",
|
" for epoch_counter in range(epochs):\n",
|
||||||
" print(f\"Epoch {epoch_counter}\")\n",
|
" print(f\"Epoch {epoch_counter}\")\n",
|
||||||
" batch_generator = BatchGenerator(images, labels)\n",
|
" batch_generator = BatchGenerator(images, labels)\n",
|
||||||
" for batch_counter in range(len(images) // batch_size):\n",
|
" for batch_counter in range(batch_generator.num_batches):\n",
|
||||||
" images_batch, labels_batch = batch_generator.next()\n",
|
" images_batch, labels_batch = batch_generator.next()\n",
|
||||||
" loss = one_training_step(model, images_batch, labels_batch)\n",
|
" loss = one_training_step(model, images_batch, labels_batch)\n",
|
||||||
" if batch_counter % 100 == 0:\n",
|
" if batch_counter % 100 == 0:\n",
|
||||||
|
|||||||
@@ -341,7 +341,7 @@
|
|||||||
"from tensorflow.keras import layers\n",
|
"from tensorflow.keras import layers\n",
|
||||||
"\n",
|
"\n",
|
||||||
"inputs = keras.Input(shape=(180, 180, 3))\n",
|
"inputs = keras.Input(shape=(180, 180, 3))\n",
|
||||||
"x = layers.experimental.preprocessing.Rescaling(1./255)(inputs)\n",
|
"x = layers.Rescaling(1./255)(inputs)\n",
|
||||||
"x = layers.Conv2D(filters=32, kernel_size=3, activation=\"relu\")(x)\n",
|
"x = layers.Conv2D(filters=32, kernel_size=3, activation=\"relu\")(x)\n",
|
||||||
"x = layers.MaxPooling2D(pool_size=2)(x)\n",
|
"x = layers.MaxPooling2D(pool_size=2)(x)\n",
|
||||||
"x = layers.Conv2D(filters=64, kernel_size=3, activation=\"relu\")(x)\n",
|
"x = layers.Conv2D(filters=64, kernel_size=3, activation=\"relu\")(x)\n",
|
||||||
@@ -415,7 +415,7 @@
|
|||||||
},
|
},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"from tensorflow.keras.preprocessing import image_dataset_from_directory\n",
|
"from tensorflow.keras.utils import image_dataset_from_directory\n",
|
||||||
"\n",
|
"\n",
|
||||||
"train_dataset = image_dataset_from_directory(\n",
|
"train_dataset = image_dataset_from_directory(\n",
|
||||||
" new_base_dir / \"train\",\n",
|
" new_base_dir / \"train\",\n",
|
||||||
@@ -663,9 +663,9 @@
|
|||||||
"source": [
|
"source": [
|
||||||
"data_augmentation = keras.Sequential(\n",
|
"data_augmentation = keras.Sequential(\n",
|
||||||
" [\n",
|
" [\n",
|
||||||
" layers.experimental.preprocessing.RandomFlip(\"horizontal\"),\n",
|
" layers.RandomFlip(\"horizontal\"),\n",
|
||||||
" layers.experimental.preprocessing.RandomRotation(0.1),\n",
|
" layers.RandomRotation(0.1),\n",
|
||||||
" layers.experimental.preprocessing.RandomZoom(0.2),\n",
|
" layers.RandomZoom(0.2),\n",
|
||||||
" ]\n",
|
" ]\n",
|
||||||
")"
|
")"
|
||||||
]
|
]
|
||||||
@@ -715,7 +715,7 @@
|
|||||||
"source": [
|
"source": [
|
||||||
"inputs = keras.Input(shape=(180, 180, 3))\n",
|
"inputs = keras.Input(shape=(180, 180, 3))\n",
|
||||||
"x = data_augmentation(inputs)\n",
|
"x = data_augmentation(inputs)\n",
|
||||||
"x = layers.experimental.preprocessing.Rescaling(1./255)(x)\n",
|
"x = layers.Rescaling(1./255)(x)\n",
|
||||||
"x = layers.Conv2D(filters=32, kernel_size=3, activation=\"relu\")(x)\n",
|
"x = layers.Conv2D(filters=32, kernel_size=3, activation=\"relu\")(x)\n",
|
||||||
"x = layers.MaxPooling2D(pool_size=2)(x)\n",
|
"x = layers.MaxPooling2D(pool_size=2)(x)\n",
|
||||||
"x = layers.Conv2D(filters=64, kernel_size=3, activation=\"relu\")(x)\n",
|
"x = layers.Conv2D(filters=64, kernel_size=3, activation=\"relu\")(x)\n",
|
||||||
@@ -1055,9 +1055,9 @@
|
|||||||
"source": [
|
"source": [
|
||||||
"data_augmentation = keras.Sequential(\n",
|
"data_augmentation = keras.Sequential(\n",
|
||||||
" [\n",
|
" [\n",
|
||||||
" layers.experimental.preprocessing.RandomFlip(\"horizontal\"),\n",
|
" layers.RandomFlip(\"horizontal\"),\n",
|
||||||
" layers.experimental.preprocessing.RandomRotation(0.1),\n",
|
" layers.RandomRotation(0.1),\n",
|
||||||
" layers.experimental.preprocessing.RandomZoom(0.2),\n",
|
" layers.RandomZoom(0.2),\n",
|
||||||
" ]\n",
|
" ]\n",
|
||||||
")\n",
|
")\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
|||||||
@@ -82,7 +82,7 @@
|
|||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"import matplotlib.pyplot as plt\n",
|
"import matplotlib.pyplot as plt\n",
|
||||||
"from tensorflow.keras.preprocessing.image import load_img, img_to_array\n",
|
"from tensorflow.keras.utils import load_img, img_to_array\n",
|
||||||
"\n",
|
"\n",
|
||||||
"plt.axis(\"off\")\n",
|
"plt.axis(\"off\")\n",
|
||||||
"plt.imshow(load_img(input_img_paths[9]))"
|
"plt.imshow(load_img(input_img_paths[9]))"
|
||||||
@@ -157,7 +157,7 @@
|
|||||||
"\n",
|
"\n",
|
||||||
"def get_model(img_size, num_classes):\n",
|
"def get_model(img_size, num_classes):\n",
|
||||||
" inputs = keras.Input(shape=img_size + (3,))\n",
|
" inputs = keras.Input(shape=img_size + (3,))\n",
|
||||||
" x = layers.experimental.preprocessing.Rescaling(1./255)(inputs)\n",
|
" x = layers.Rescaling(1./255)(inputs)\n",
|
||||||
"\n",
|
"\n",
|
||||||
" x = layers.Conv2D(64, 3, strides=2, activation=\"relu\", padding=\"same\")(x)\n",
|
" x = layers.Conv2D(64, 3, strides=2, activation=\"relu\", padding=\"same\")(x)\n",
|
||||||
" x = layers.Conv2D(64, 3, activation=\"relu\", padding=\"same\")(x)\n",
|
" x = layers.Conv2D(64, 3, activation=\"relu\", padding=\"same\")(x)\n",
|
||||||
@@ -230,7 +230,7 @@
|
|||||||
},
|
},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"from tensorflow.keras.preprocessing.image import array_to_img\n",
|
"from tensorflow.keras.utils import array_to_img\n",
|
||||||
"\n",
|
"\n",
|
||||||
"model = keras.models.load_model(\"oxford_segmentation.keras\")\n",
|
"model = keras.models.load_model(\"oxford_segmentation.keras\")\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
|||||||
@@ -99,7 +99,7 @@
|
|||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"inputs = keras.Input(shape=(32, 32, 3))\n",
|
"inputs = keras.Input(shape=(32, 32, 3))\n",
|
||||||
"x = layers.experimental.preprocessing.Rescaling(1./255)(inputs)\n",
|
"x = layers.Rescaling(1./255)(inputs)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"def residual_block(x, filters, pooling=False):\n",
|
"def residual_block(x, filters, pooling=False):\n",
|
||||||
" residual = x\n",
|
" residual = x\n",
|
||||||
@@ -186,7 +186,7 @@
|
|||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"import os, shutil, pathlib\n",
|
"import os, shutil, pathlib\n",
|
||||||
"from tensorflow.keras.preprocessing import image_dataset_from_directory\n",
|
"from tensorflow.keras.utils import image_dataset_from_directory\n",
|
||||||
"\n",
|
"\n",
|
||||||
"original_dir = pathlib.Path(\"train\")\n",
|
"original_dir = pathlib.Path(\"train\")\n",
|
||||||
"new_base_dir = pathlib.Path(\"cats_vs_dogs_small\")\n",
|
"new_base_dir = pathlib.Path(\"cats_vs_dogs_small\")\n",
|
||||||
@@ -228,9 +228,9 @@
|
|||||||
"source": [
|
"source": [
|
||||||
"data_augmentation = keras.Sequential(\n",
|
"data_augmentation = keras.Sequential(\n",
|
||||||
" [\n",
|
" [\n",
|
||||||
" layers.experimental.preprocessing.RandomFlip(\"horizontal\"),\n",
|
" layers.RandomFlip(\"horizontal\"),\n",
|
||||||
" layers.experimental.preprocessing.RandomRotation(0.1),\n",
|
" layers.RandomRotation(0.1),\n",
|
||||||
" layers.experimental.preprocessing.RandomZoom(0.2),\n",
|
" layers.RandomZoom(0.2),\n",
|
||||||
" ]\n",
|
" ]\n",
|
||||||
")"
|
")"
|
||||||
]
|
]
|
||||||
@@ -246,7 +246,7 @@
|
|||||||
"inputs = keras.Input(shape=(180, 180, 3))\n",
|
"inputs = keras.Input(shape=(180, 180, 3))\n",
|
||||||
"x = data_augmentation(inputs)\n",
|
"x = data_augmentation(inputs)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"x = layers.experimental.preprocessing.Rescaling(1./255)(x)\n",
|
"x = layers.Rescaling(1./255)(x)\n",
|
||||||
"x = layers.Conv2D(filters=32, kernel_size=5, use_bias=False)(x)\n",
|
"x = layers.Conv2D(filters=32, kernel_size=5, use_bias=False)(x)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"for size in [32, 64, 128, 256, 512]:\n",
|
"for size in [32, 64, 128, 256, 512]:\n",
|
||||||
|
|||||||
@@ -79,9 +79,9 @@
|
|||||||
" origin=\"https://img-datasets.s3.amazonaws.com/cat.jpg\")\n",
|
" origin=\"https://img-datasets.s3.amazonaws.com/cat.jpg\")\n",
|
||||||
"\n",
|
"\n",
|
||||||
"def get_img_array(img_path, target_size):\n",
|
"def get_img_array(img_path, target_size):\n",
|
||||||
" img = keras.preprocessing.image.load_img(\n",
|
" img = keras.utils.load_img(\n",
|
||||||
" img_path, target_size=target_size)\n",
|
" img_path, target_size=target_size)\n",
|
||||||
" array = keras.preprocessing.image.img_to_array(img)\n",
|
" array = keras.utils.img_to_array(img)\n",
|
||||||
" array = np.expand_dims(array, axis=0)\n",
|
" array = np.expand_dims(array, axis=0)\n",
|
||||||
" return array\n",
|
" return array\n",
|
||||||
"\n",
|
"\n",
|
||||||
@@ -493,7 +493,7 @@
|
|||||||
" :,\n",
|
" :,\n",
|
||||||
" ] = image\n",
|
" ] = image\n",
|
||||||
"\n",
|
"\n",
|
||||||
"keras.preprocessing.image.save_img(\n",
|
"keras.utils.save_img(\n",
|
||||||
" f\"filters_for_layer_{layer_name}.png\", stitched_filters)"
|
" f\"filters_for_layer_{layer_name}.png\", stitched_filters)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -548,8 +548,8 @@
|
|||||||
" origin=\"https://img-datasets.s3.amazonaws.com/elephant.jpg\")\n",
|
" origin=\"https://img-datasets.s3.amazonaws.com/elephant.jpg\")\n",
|
||||||
"\n",
|
"\n",
|
||||||
"def get_img_array(img_path, target_size):\n",
|
"def get_img_array(img_path, target_size):\n",
|
||||||
" img = keras.preprocessing.image.load_img(img_path, target_size=target_size)\n",
|
" img = keras.utils.load_img(img_path, target_size=target_size)\n",
|
||||||
" array = keras.preprocessing.image.img_to_array(img)\n",
|
" array = keras.utils.img_to_array(img)\n",
|
||||||
" array = np.expand_dims(array, axis=0)\n",
|
" array = np.expand_dims(array, axis=0)\n",
|
||||||
" array = keras.applications.xception.preprocess_input(array)\n",
|
" array = keras.applications.xception.preprocess_input(array)\n",
|
||||||
" return array\n",
|
" return array\n",
|
||||||
@@ -724,8 +724,8 @@
|
|||||||
"source": [
|
"source": [
|
||||||
"import matplotlib.cm as cm\n",
|
"import matplotlib.cm as cm\n",
|
||||||
"\n",
|
"\n",
|
||||||
"img = keras.preprocessing.image.load_img(img_path)\n",
|
"img = keras.utils.load_img(img_path)\n",
|
||||||
"img = keras.preprocessing.image.img_to_array(img)\n",
|
"img = keras.utils.img_to_array(img)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"heatmap = np.uint8(255 * heatmap)\n",
|
"heatmap = np.uint8(255 * heatmap)\n",
|
||||||
"\n",
|
"\n",
|
||||||
@@ -733,12 +733,12 @@
|
|||||||
"jet_colors = jet(np.arange(256))[:, :3]\n",
|
"jet_colors = jet(np.arange(256))[:, :3]\n",
|
||||||
"jet_heatmap = jet_colors[heatmap]\n",
|
"jet_heatmap = jet_colors[heatmap]\n",
|
||||||
"\n",
|
"\n",
|
||||||
"jet_heatmap = keras.preprocessing.image.array_to_img(jet_heatmap)\n",
|
"jet_heatmap = keras.utils.array_to_img(jet_heatmap)\n",
|
||||||
"jet_heatmap = jet_heatmap.resize((img.shape[1], img.shape[0]))\n",
|
"jet_heatmap = jet_heatmap.resize((img.shape[1], img.shape[0]))\n",
|
||||||
"jet_heatmap = keras.preprocessing.image.img_to_array(jet_heatmap)\n",
|
"jet_heatmap = keras.utils.img_to_array(jet_heatmap)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"superimposed_img = jet_heatmap * 0.4 + img\n",
|
"superimposed_img = jet_heatmap * 0.4 + img\n",
|
||||||
"superimposed_img = keras.preprocessing.image.array_to_img(superimposed_img)\n",
|
"superimposed_img = keras.utils.array_to_img(superimposed_img)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"save_path = \"elephant_cam.jpg\"\n",
|
"save_path = \"elephant_cam.jpg\"\n",
|
||||||
"superimposed_img.save(save_path)"
|
"superimposed_img.save(save_path)"
|
||||||
|
|||||||
@@ -213,7 +213,7 @@
|
|||||||
"import numpy as np\n",
|
"import numpy as np\n",
|
||||||
"from tensorflow import keras\n",
|
"from tensorflow import keras\n",
|
||||||
"int_sequence = np.arange(10)\n",
|
"int_sequence = np.arange(10)\n",
|
||||||
"dummy_dataset = keras.preprocessing.timeseries_dataset_from_array(\n",
|
"dummy_dataset = keras.utils.timeseries_dataset_from_array(\n",
|
||||||
" data=int_sequence[:-3],\n",
|
" data=int_sequence[:-3],\n",
|
||||||
" targets=int_sequence[3:],\n",
|
" targets=int_sequence[3:],\n",
|
||||||
" sequence_length=3,\n",
|
" sequence_length=3,\n",
|
||||||
@@ -247,7 +247,7 @@
|
|||||||
"delay = sampling_rate * (sequence_length + 24 - 1)\n",
|
"delay = sampling_rate * (sequence_length + 24 - 1)\n",
|
||||||
"batch_size = 256\n",
|
"batch_size = 256\n",
|
||||||
"\n",
|
"\n",
|
||||||
"train_dataset = keras.preprocessing.timeseries_dataset_from_array(\n",
|
"train_dataset = keras.utils.timeseries_dataset_from_array(\n",
|
||||||
" raw_data[:-delay],\n",
|
" raw_data[:-delay],\n",
|
||||||
" targets=temperature[delay:],\n",
|
" targets=temperature[delay:],\n",
|
||||||
" sampling_rate=sampling_rate,\n",
|
" sampling_rate=sampling_rate,\n",
|
||||||
@@ -257,7 +257,7 @@
|
|||||||
" start_index=0,\n",
|
" start_index=0,\n",
|
||||||
" end_index=num_train_samples)\n",
|
" end_index=num_train_samples)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"val_dataset = keras.preprocessing.timeseries_dataset_from_array(\n",
|
"val_dataset = keras.utils.timeseries_dataset_from_array(\n",
|
||||||
" raw_data[:-delay],\n",
|
" raw_data[:-delay],\n",
|
||||||
" targets=temperature[delay:],\n",
|
" targets=temperature[delay:],\n",
|
||||||
" sampling_rate=sampling_rate,\n",
|
" sampling_rate=sampling_rate,\n",
|
||||||
@@ -267,7 +267,7 @@
|
|||||||
" start_index=num_train_samples,\n",
|
" start_index=num_train_samples,\n",
|
||||||
" end_index=num_train_samples + num_val_samples)\n",
|
" end_index=num_train_samples + num_val_samples)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"test_dataset = keras.preprocessing.timeseries_dataset_from_array(\n",
|
"test_dataset = keras.utils.timeseries_dataset_from_array(\n",
|
||||||
" raw_data[:-delay],\n",
|
" raw_data[:-delay],\n",
|
||||||
" targets=temperature[delay:],\n",
|
" targets=temperature[delay:],\n",
|
||||||
" sampling_rate=sampling_rate,\n",
|
" sampling_rate=sampling_rate,\n",
|
||||||
|
|||||||
@@ -153,7 +153,7 @@
|
|||||||
},
|
},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"from tensorflow.keras.layers.experimental.preprocessing import TextVectorization\n",
|
"from tensorflow.keras.layers import TextVectorization\n",
|
||||||
"text_vectorization = TextVectorization(\n",
|
"text_vectorization = TextVectorization(\n",
|
||||||
" output_mode=\"int\",\n",
|
" output_mode=\"int\",\n",
|
||||||
")"
|
")"
|
||||||
@@ -336,13 +336,13 @@
|
|||||||
"from tensorflow import keras\n",
|
"from tensorflow import keras\n",
|
||||||
"batch_size = 32\n",
|
"batch_size = 32\n",
|
||||||
"\n",
|
"\n",
|
||||||
"train_ds = keras.preprocessing.text_dataset_from_directory(\n",
|
"train_ds = keras.utils.text_dataset_from_directory(\n",
|
||||||
" \"aclImdb/train\", batch_size=batch_size\n",
|
" \"aclImdb/train\", batch_size=batch_size\n",
|
||||||
")\n",
|
")\n",
|
||||||
"val_ds = keras.preprocessing.text_dataset_from_directory(\n",
|
"val_ds = keras.utils.text_dataset_from_directory(\n",
|
||||||
" \"aclImdb/val\", batch_size=batch_size\n",
|
" \"aclImdb/val\", batch_size=batch_size\n",
|
||||||
")\n",
|
")\n",
|
||||||
"test_ds = keras.preprocessing.text_dataset_from_directory(\n",
|
"test_ds = keras.utils.text_dataset_from_directory(\n",
|
||||||
" \"aclImdb/test\", batch_size=batch_size\n",
|
" \"aclImdb/test\", batch_size=batch_size\n",
|
||||||
")"
|
")"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -82,13 +82,13 @@
|
|||||||
" shutil.move(train_dir / category / fname,\n",
|
" shutil.move(train_dir / category / fname,\n",
|
||||||
" val_dir / category / fname)\n",
|
" val_dir / category / fname)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"train_ds = keras.preprocessing.text_dataset_from_directory(\n",
|
"train_ds = keras.utils.text_dataset_from_directory(\n",
|
||||||
" \"aclImdb/train\", batch_size=batch_size\n",
|
" \"aclImdb/train\", batch_size=batch_size\n",
|
||||||
")\n",
|
")\n",
|
||||||
"val_ds = keras.preprocessing.text_dataset_from_directory(\n",
|
"val_ds = keras.utils.text_dataset_from_directory(\n",
|
||||||
" \"aclImdb/val\", batch_size=batch_size\n",
|
" \"aclImdb/val\", batch_size=batch_size\n",
|
||||||
")\n",
|
")\n",
|
||||||
"test_ds = keras.preprocessing.text_dataset_from_directory(\n",
|
"test_ds = keras.utils.text_dataset_from_directory(\n",
|
||||||
" \"aclImdb/test\", batch_size=batch_size\n",
|
" \"aclImdb/test\", batch_size=batch_size\n",
|
||||||
")\n",
|
")\n",
|
||||||
"text_only_train_ds = train_ds.map(lambda x, y: x)"
|
"text_only_train_ds = train_ds.map(lambda x, y: x)"
|
||||||
@@ -111,10 +111,11 @@
|
|||||||
},
|
},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"from tensorflow.keras.layers.experimental.preprocessing import TextVectorization\n",
|
"from tensorflow.keras import layers\n",
|
||||||
|
"\n",
|
||||||
"max_length = 600\n",
|
"max_length = 600\n",
|
||||||
"max_tokens = 20000\n",
|
"max_tokens = 20000\n",
|
||||||
"text_vectorization = TextVectorization(\n",
|
"text_vectorization = layers.TextVectorization(\n",
|
||||||
" max_tokens=max_tokens,\n",
|
" max_tokens=max_tokens,\n",
|
||||||
" output_mode=\"int\",\n",
|
" output_mode=\"int\",\n",
|
||||||
" output_sequence_length=max_length,\n",
|
" output_sequence_length=max_length,\n",
|
||||||
@@ -144,7 +145,6 @@
|
|||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"import tensorflow as tf\n",
|
"import tensorflow as tf\n",
|
||||||
"from tensorflow.keras import layers\n",
|
|
||||||
"inputs = keras.Input(shape=(None,), dtype=\"int64\")\n",
|
"inputs = keras.Input(shape=(None,), dtype=\"int64\")\n",
|
||||||
"embedded = tf.one_hot(inputs, depth=max_tokens)\n",
|
"embedded = tf.one_hot(inputs, depth=max_tokens)\n",
|
||||||
"x = layers.Bidirectional(layers.LSTM(32))(embedded)\n",
|
"x = layers.Bidirectional(layers.LSTM(32))(embedded)\n",
|
||||||
|
|||||||
@@ -109,13 +109,13 @@
|
|||||||
" shutil.move(train_dir / category / fname,\n",
|
" shutil.move(train_dir / category / fname,\n",
|
||||||
" val_dir / category / fname)\n",
|
" val_dir / category / fname)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"train_ds = keras.preprocessing.text_dataset_from_directory(\n",
|
"train_ds = keras.utils.text_dataset_from_directory(\n",
|
||||||
" \"aclImdb/train\", batch_size=batch_size\n",
|
" \"aclImdb/train\", batch_size=batch_size\n",
|
||||||
")\n",
|
")\n",
|
||||||
"val_ds = keras.preprocessing.text_dataset_from_directory(\n",
|
"val_ds = keras.utils.text_dataset_from_directory(\n",
|
||||||
" \"aclImdb/val\", batch_size=batch_size\n",
|
" \"aclImdb/val\", batch_size=batch_size\n",
|
||||||
")\n",
|
")\n",
|
||||||
"test_ds = keras.preprocessing.text_dataset_from_directory(\n",
|
"test_ds = keras.utils.text_dataset_from_directory(\n",
|
||||||
" \"aclImdb/test\", batch_size=batch_size\n",
|
" \"aclImdb/test\", batch_size=batch_size\n",
|
||||||
")\n",
|
")\n",
|
||||||
"text_only_train_ds = train_ds.map(lambda x, y: x)"
|
"text_only_train_ds = train_ds.map(lambda x, y: x)"
|
||||||
@@ -138,10 +138,11 @@
|
|||||||
},
|
},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"from tensorflow.keras.layers.experimental.preprocessing import TextVectorization\n",
|
"from tensorflow.keras import layers\n",
|
||||||
|
"\n",
|
||||||
"max_length = 600\n",
|
"max_length = 600\n",
|
||||||
"max_tokens = 20000\n",
|
"max_tokens = 20000\n",
|
||||||
"text_vectorization = TextVectorization(\n",
|
"text_vectorization = layers.TextVectorization(\n",
|
||||||
" max_tokens=max_tokens,\n",
|
" max_tokens=max_tokens,\n",
|
||||||
" output_mode=\"int\",\n",
|
" output_mode=\"int\",\n",
|
||||||
" output_sequence_length=max_length,\n",
|
" output_sequence_length=max_length,\n",
|
||||||
|
|||||||
@@ -103,7 +103,6 @@
|
|||||||
},
|
},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"from keras.layers.experimental.preprocessing import TextVectorization\n",
|
|
||||||
"import tensorflow as tf\n",
|
"import tensorflow as tf\n",
|
||||||
"import string\n",
|
"import string\n",
|
||||||
"import re\n",
|
"import re\n",
|
||||||
@@ -120,12 +119,12 @@
|
|||||||
"vocab_size = 15000\n",
|
"vocab_size = 15000\n",
|
||||||
"sequence_length = 20\n",
|
"sequence_length = 20\n",
|
||||||
"\n",
|
"\n",
|
||||||
"source_vectorization = TextVectorization(\n",
|
"source_vectorization = layers.TextVectorization(\n",
|
||||||
" max_tokens=vocab_size,\n",
|
" max_tokens=vocab_size,\n",
|
||||||
" output_mode=\"int\",\n",
|
" output_mode=\"int\",\n",
|
||||||
" output_sequence_length=sequence_length,\n",
|
" output_sequence_length=sequence_length,\n",
|
||||||
")\n",
|
")\n",
|
||||||
"target_vectorization = TextVectorization(\n",
|
"target_vectorization = layers.TextVectorization(\n",
|
||||||
" max_tokens=vocab_size,\n",
|
" max_tokens=vocab_size,\n",
|
||||||
" output_mode=\"int\",\n",
|
" output_mode=\"int\",\n",
|
||||||
" output_sequence_length=sequence_length + 1,\n",
|
" output_sequence_length=sequence_length + 1,\n",
|
||||||
|
|||||||
@@ -136,7 +136,7 @@
|
|||||||
"source": [
|
"source": [
|
||||||
"import tensorflow as tf\n",
|
"import tensorflow as tf\n",
|
||||||
"from tensorflow import keras\n",
|
"from tensorflow import keras\n",
|
||||||
"dataset = keras.preprocessing.text_dataset_from_directory(\n",
|
"dataset = keras.utils.text_dataset_from_directory(\n",
|
||||||
" directory=\"aclImdb\", label_mode=None, batch_size=256)\n",
|
" directory=\"aclImdb\", label_mode=None, batch_size=256)\n",
|
||||||
"dataset = dataset.map(lambda x: tf.strings.regex_replace(x, \"<br />\", \" \"))"
|
"dataset = dataset.map(lambda x: tf.strings.regex_replace(x, \"<br />\", \" \"))"
|
||||||
]
|
]
|
||||||
@@ -158,7 +158,7 @@
|
|||||||
},
|
},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"from tensorflow.keras.layers.experimental.preprocessing import TextVectorization\n",
|
"from tensorflow.keras.layers import TextVectorization\n",
|
||||||
"\n",
|
"\n",
|
||||||
"sequence_length = 100\n",
|
"sequence_length = 100\n",
|
||||||
"vocab_size = 15000\n",
|
"vocab_size = 15000\n",
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
" \"coast.jpg\", origin=\"https://img-datasets.s3.amazonaws.com/coast.jpg\")\n",
|
" \"coast.jpg\", origin=\"https://img-datasets.s3.amazonaws.com/coast.jpg\")\n",
|
||||||
"\n",
|
"\n",
|
||||||
"plt.axis(\"off\")\n",
|
"plt.axis(\"off\")\n",
|
||||||
"plt.imshow(keras.preprocessing.image.load_img(base_image_path))"
|
"plt.imshow(keras.utils.load_img(base_image_path))"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -154,8 +154,8 @@
|
|||||||
"import numpy as np\n",
|
"import numpy as np\n",
|
||||||
"\n",
|
"\n",
|
||||||
"def preprocess_image(image_path):\n",
|
"def preprocess_image(image_path):\n",
|
||||||
" img = keras.preprocessing.image.load_img(image_path)\n",
|
" img = keras.utils.load_img(image_path)\n",
|
||||||
" img = keras.preprocessing.image.img_to_array(img)\n",
|
" img = keras.utils.img_to_array(img)\n",
|
||||||
" img = np.expand_dims(img, axis=0)\n",
|
" img = np.expand_dims(img, axis=0)\n",
|
||||||
" img = keras.applications.inception_v3.preprocess_input(img)\n",
|
" img = keras.applications.inception_v3.preprocess_input(img)\n",
|
||||||
" return img\n",
|
" return img\n",
|
||||||
@@ -201,7 +201,7 @@
|
|||||||
" img += lost_detail\n",
|
" img += lost_detail\n",
|
||||||
" shrunk_original_img = tf.image.resize(original_img, shape)\n",
|
" shrunk_original_img = tf.image.resize(original_img, shape)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"keras.preprocessing.image.save_img(\"dream.png\", deprocess_image(img.numpy()))"
|
"keras.utils.save_img(\"dream.png\", deprocess_image(img.numpy()))"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -69,7 +69,7 @@
|
|||||||
"style_reference_image_path = keras.utils.get_file(\n",
|
"style_reference_image_path = keras.utils.get_file(\n",
|
||||||
" \"starry_night.jpg\", origin=\"https://img-datasets.s3.amazonaws.com/starry_night.jpg\")\n",
|
" \"starry_night.jpg\", origin=\"https://img-datasets.s3.amazonaws.com/starry_night.jpg\")\n",
|
||||||
"\n",
|
"\n",
|
||||||
"original_width, original_height = keras.preprocessing.image.load_img(base_image_path).size\n",
|
"original_width, original_height = keras.utils.load_img(base_image_path).size\n",
|
||||||
"img_height = 400\n",
|
"img_height = 400\n",
|
||||||
"img_width = round(original_width * img_height / original_height)"
|
"img_width = round(original_width * img_height / original_height)"
|
||||||
]
|
]
|
||||||
@@ -94,9 +94,9 @@
|
|||||||
"import numpy as np\n",
|
"import numpy as np\n",
|
||||||
"\n",
|
"\n",
|
||||||
"def preprocess_image(image_path):\n",
|
"def preprocess_image(image_path):\n",
|
||||||
" img = keras.preprocessing.image.load_img(\n",
|
" img = keras.utils.load_img(\n",
|
||||||
" image_path, target_size=(img_height, img_width))\n",
|
" image_path, target_size=(img_height, img_width))\n",
|
||||||
" img = keras.preprocessing.image.img_to_array(img)\n",
|
" img = keras.utils.img_to_array(img)\n",
|
||||||
" img = np.expand_dims(img, axis=0)\n",
|
" img = np.expand_dims(img, axis=0)\n",
|
||||||
" img = keras.applications.vgg19.preprocess_input(img)\n",
|
" img = keras.applications.vgg19.preprocess_input(img)\n",
|
||||||
" return img\n",
|
" return img\n",
|
||||||
@@ -312,7 +312,7 @@
|
|||||||
" print(f\"Iteration {i}: loss={loss:.2f}\")\n",
|
" print(f\"Iteration {i}: loss={loss:.2f}\")\n",
|
||||||
" img = deprocess_image(combination_image.numpy())\n",
|
" img = deprocess_image(combination_image.numpy())\n",
|
||||||
" fname = f\"combination_image_at_iteration_{i}.png\"\n",
|
" fname = f\"combination_image_at_iteration_{i}.png\"\n",
|
||||||
" keras.preprocessing.image.save_img(fname, img)"
|
" keras.utils.save_img(fname, img)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -85,7 +85,7 @@
|
|||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"from tensorflow import keras\n",
|
"from tensorflow import keras\n",
|
||||||
"dataset = keras.preprocessing.image_dataset_from_directory(\n",
|
"dataset = keras.utils_dataset_from_directory(\n",
|
||||||
" \"celeba_gan\",\n",
|
" \"celeba_gan\",\n",
|
||||||
" label_mode=None,\n",
|
" label_mode=None,\n",
|
||||||
" image_size=(64, 64),\n",
|
" image_size=(64, 64),\n",
|
||||||
@@ -357,7 +357,7 @@
|
|||||||
" generated_images *= 255\n",
|
" generated_images *= 255\n",
|
||||||
" generated_images.numpy()\n",
|
" generated_images.numpy()\n",
|
||||||
" for i in range(self.num_img):\n",
|
" for i in range(self.num_img):\n",
|
||||||
" img = keras.preprocessing.image.array_to_img(generated_images[i])\n",
|
" img = keras.utils.array_to_img(generated_images[i])\n",
|
||||||
" img.save(f\"generated_img_{epoch:03d}_{i}.png\")"
|
" img.save(f\"generated_img_{epoch:03d}_{i}.png\")"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user