Row 4015
Content Data
This page contains data entry 4015 from the Axioma AXP content repository. The structured data below represents the complete record for this entry.
import tensorflow as tf from tensorflow.keras import layers, models, optimizers from tensorflow.keras.preprocessing.image import ImageDataGenerator
class BottleneckBlock(tf.keras.layers.Layer): def __init__(self, in_channels, out_channels, stride=1): super(BottleneckBlock, self).__init__() self.conv1 = tf.keras.layers.Conv2D(out_channels, kernel_size=1, strides=stride, padding='same', use_bias=False) self.bn1 = tf.keras.layers.BatchNormalization() self.relu = tf.keras.layers.ReLU() self.conv2 = tf.keras.layers.Conv2D(out_channels, kernel_size=3, strides=1, padding='same', use_bias=False) self.bn2 = tf.keras.layers.BatchNormalization() self.conv3 = tf.keras.layers.Conv2D(out_channels * 4, kernel_size=1, strides=1, padding='same', use_bias=False) self.bn3 = tf.keras.layers.BatchNormalization() self.downsample = tf.keras.Sequential([ tf.keras.layers.Conv2D(out_channels * 4, kernel_size=1, strides=stride, use_bias=False), tf.keras.layers.BatchNormalization() ]) if stride != 1 else None self.stride = stride
def call(self, x): identity = x
out = self.conv1(x) out = self.bn1(out) out = self.relu(out)
out = self.conv2(out) out = self.bn2(out) out = self.relu(out)
out = self.conv3(out) out = self.bn3(out)
if self.downsample is not None: identity = self.downsample(x)
out += identity out = self.relu(out)
return out
class CNN(models.Model): def __init__(self, block, layers, num_classes=10): super(CNN, self).__init__() self.in_channels = 64 self.conv1 = tf.keras.layers.Conv2D(64, kernel_size=7, strides=2, padding='same', use_bias=False) self.bn1 = tf.keras.layers.BatchNormalization() self.relu = tf.keras.layers.ReLU() self.maxpool = tf.keras.layers.MaxPooling2D(pool_size=(3, 3), strides=2, padding='same') self.layer1 = self._make_layer(block, 64, layers[0]) self.layer2 = self._make_layer(block, 128, layers[1], stride=2) self.layer3 = self._make_layer(block, 256, layers[2], stride=2) self.layer4 = self._make_layer(block, 512, layers[3], stride=2) self.avgpool = tf.keras.layers.GlobalAveragePooling2D() self.fc = tf.keras.layers.Dense(num_classes)
def _make_layer(self, block, out_channels, blocks, stride=1): layers = [] layers.append(block(self.in_channels, out_channels, stride)) self.in_channels = out_channels * 4 # block.expansion = 4 for _ in range(1, blocks): layers.append(block(self.in_channels, out_channels)) return tf.keras.Sequential(layers)
def call(self, x): x = self.conv1(x) x = self.bn1(x) x = self.relu(x) x = self.maxpool(x)
x = self.layer1(x) x = self.layer2(x) x = self.layer3(x) x = self.layer4(x)
x = self.avgpool(x) x = self.fc(x) return x
def ResNet50(num_classes=10): return CNN(BottleneckBlock, [3, 4, 6, 3], num_classes)
# Dataset and DataGenerator train_datagen = ImageDataGenerator( rescale=1./255, shear_range=0.2, zoom_range=0.2, horizontal_flip=True)
train_generator = train_datagen.flow_from_directory( '/kaggle/input/prostate-cancer', target_size=(224, 224), batch_size=32, class_mode='categorical')
# Example usage model = ResNet50(num_classes=len(train_generator.class_indices)) model.compile(optimizer=optimizers.Adam(learning_rate=0.001), loss='categorical_crossentropy', metrics=['accuracy']) model.fit(train_generator, epochs=10)
def predict_image_class(image_path): img = tf.keras.preprocessing.image.load_img(image_path, target_size=(224, 224)) img_array = tf.keras.preprocessing.image.img_to_array(img) img_array = tf.expand_dims(img_array, 0) # Create batch axis img_array /= 255. # Normalize predicted_class = model.predict(img_array) return tf.argmax(predicted_class[0]).numpy()
# Example usage image_path = '/kaggle/input/predict-img/0001.png' predicted_class = predict_image_class(image_path) print(f"Predicted class: {predicted_class}")
| Field | Value |
|---|---|
| text | import tensorflow as tf from tensorflow.keras import layers, models, optimizers from tensorflow.keras.preprocessing.image import ImageDataGenerator class BottleneckBlock(tf.keras.layers.Layer): def __init__(self, in_channels, out_channels, stride=1): super(BottleneckBlock, self).__init__() self.conv1 = tf.keras.layers.Conv2D(out_channels, kernel_size=1, strides=stride, padding='same', use_bias=False) self.bn1 = tf.keras.layers.BatchNormalization() self.relu =… |
| label | r/neuralnetworks |
| dataType | post |
| communityName | r/neuralnetworks |
| datetime | 2024-04-01 |
| username_encoded | Z0FBQUFBQm5LakwxYTBTYWh4cnp1bFVqSmc0SlFMZGtKTjQyUVVCeEwxbVhPMVJYM3JtV0gyTEd5LXRUT0RLRURSNXNaUmctbU9vMk9ZdjhIYl9jVk83Vld1NjktYlpXWkhvLWpLaXU1NEJpbUF6aHRVNDFOdTQ9 |
| url_encoded | Z0FBQUFBQm5Lak9GQ2Faa3p6NC1uQWVBaFkwWnFJRUI1R0tHVDNSLTFDTXFKM0lVQ0xMOGl1SUptTTFORkhiNEtnQTVWYlZrOGl0eUlfaHIzRHlFR09jcGZxY0prV2NGSFhvV1llZzl3bE5TWUhvQlBLOXV0b21ZTTRUOG9VMW9HYVNGOXZpLWwwbEFVVmFsbVVJcVpScmtjUGNDSngyeDZrWld0TFdBb0FJSUdUam1WSVk0cVVCSW9wbVNnUVRjeFphLTZaVWl3cjJtWGZocS1mSjhiVjNZXzhROTFTQVQyQT09 |
Raw Record
{
"text": "import tensorflow as tf\nfrom tensorflow.keras import layers, models, optimizers\nfrom tensorflow.keras.preprocessing.image import ImageDataGenerator\n\nclass BottleneckBlock(tf.keras.layers.Layer):\n def __init__(self, in_channels, out_channels, stride=1):\n super(BottleneckBlock, self).__init__()\n self.conv1 = tf.keras.layers.Conv2D(out_channels, kernel_size=1, strides=stride, padding='same', use_bias=False)\n self.bn1 = tf.keras.layers.BatchNormalization()\n self.relu = tf.keras.layers.ReLU()\n self.conv2 = tf.keras.layers.Conv2D(out_channels, kernel_size=3, strides=1, padding='same', use_bias=False)\n self.bn2 = tf.keras.layers.BatchNormalization()\n self.conv3 = tf.keras.layers.Conv2D(out_channels * 4, kernel_size=1, strides=1, padding='same', use_bias=False)\n self.bn3 = tf.keras.layers.BatchNormalization()\n self.downsample = tf.keras.Sequential([\n tf.keras.layers.Conv2D(out_channels * 4, kernel_size=1, strides=stride, use_bias=False),\n tf.keras.layers.BatchNormalization()\n ]) if stride != 1 else None\n self.stride = stride\n\n def call(self, x):\n identity = x\n\n out = self.conv1(x)\n out = self.bn1(out)\n out = self.relu(out)\n\n out = self.conv2(out)\n out = self.bn2(out)\n out = self.relu(out)\n\n out = self.conv3(out)\n out = self.bn3(out)\n\n if self.downsample is not None:\n identity = self.downsample(x)\n\n out += identity\n out = self.relu(out)\n\n return out\n\nclass CNN(models.Model):\n def __init__(self, block, layers, num_classes=10):\n super(CNN, self).__init__()\n self.in_channels = 64\n self.conv1 = tf.keras.layers.Conv2D(64, kernel_size=7, strides=2, padding='same', use_bias=False)\n self.bn1 = tf.keras.layers.BatchNormalization()\n self.relu = tf.keras.layers.ReLU()\n self.maxpool = tf.keras.layers.MaxPooling2D(pool_size=(3, 3), strides=2, padding='same')\n self.layer1 = self._make_layer(block, 64, layers[0])\n self.layer2 = self._make_layer(block, 128, layers[1], stride=2)\n self.layer3 = self._make_layer(block, 256, layers[2], stride=2)\n self.layer4 = self._make_layer(block, 512, layers[3], stride=2)\n self.avgpool = tf.keras.layers.GlobalAveragePooling2D()\n self.fc = tf.keras.layers.Dense(num_classes)\n\n def _make_layer(self, block, out_channels, blocks, stride=1):\n layers = []\n layers.append(block(self.in_channels, out_channels, stride))\n self.in_channels = out_channels * 4 # block.expansion = 4\n for _ in range(1, blocks):\n layers.append(block(self.in_channels, out_channels))\n return tf.keras.Sequential(layers)\n\n def call(self, x):\n x = self.conv1(x)\n x = self.bn1(x)\n x = self.relu(x)\n x = self.maxpool(x)\n\n x = self.layer1(x)\n x = self.layer2(x)\n x = self.layer3(x)\n x = self.layer4(x)\n\n x = self.avgpool(x)\n x = self.fc(x)\n return x\n\ndef ResNet50(num_classes=10):\n return CNN(BottleneckBlock, [3, 4, 6, 3], num_classes)\n\n# Dataset and DataGenerator\ntrain_datagen = ImageDataGenerator(\n rescale=1./255,\n shear_range=0.2,\n zoom_range=0.2,\n horizontal_flip=True)\n\ntrain_generator = train_datagen.flow_from_directory(\n '/kaggle/input/prostate-cancer',\n target_size=(224, 224),\n batch_size=32,\n class_mode='categorical')\n\n# Example usage\nmodel = ResNet50(num_classes=len(train_generator.class_indices))\nmodel.compile(optimizer=optimizers.Adam(learning_rate=0.001), loss='categorical_crossentropy', metrics=['accuracy'])\nmodel.fit(train_generator, epochs=10)\n\ndef predict_image_class(image_path):\n img = tf.keras.preprocessing.image.load_img(image_path, target_size=(224, 224))\n img_array = tf.keras.preprocessing.image.img_to_array(img)\n img_array = tf.expand_dims(img_array, 0) # Create batch axis\n img_array /= 255. # Normalize\n predicted_class = model.predict(img_array)\n return tf.argmax(predicted_class[0]).numpy()\n\n# Example usage\nimage_path = '/kaggle/input/predict-img/0001.png'\npredicted_class = predict_image_class(image_path)\nprint(f\"Predicted class: {predicted_class}\")\n",
"label": "r/neuralnetworks",
"dataType": "post",
"communityName": "r/neuralnetworks",
"datetime": "2024-04-01",
"username_encoded": "Z0FBQUFBQm5LakwxYTBTYWh4cnp1bFVqSmc0SlFMZGtKTjQyUVVCeEwxbVhPMVJYM3JtV0gyTEd5LXRUT0RLRURSNXNaUmctbU9vMk9ZdjhIYl9jVk83Vld1NjktYlpXWkhvLWpLaXU1NEJpbUF6aHRVNDFOdTQ9",
"url_encoded": "Z0FBQUFBQm5Lak9GQ2Faa3p6NC1uQWVBaFkwWnFJRUI1R0tHVDNSLTFDTXFKM0lVQ0xMOGl1SUptTTFORkhiNEtnQTVWYlZrOGl0eUlfaHIzRHlFR09jcGZxY0prV2NGSFhvV1llZzl3bE5TWUhvQlBLOXV0b21ZTTRUOG9VMW9HYVNGOXZpLWwwbEFVVmFsbVVJcVpScmtjUGNDSngyeDZrWld0TFdBb0FJSUdUam1WSVk0cVVCSW9wbVNnUVRjeFphLTZaVWl3cjJtWGZocS1mSjhiVjNZXzhROTFTQVQyQT09"
}
Entry Information
- Entry ID: 4015
- Repository: Axioma AXP
- Dataset: arrmlet/reddit_dataset_36
- Total Entries: 100,000