参考论文设计网络,部分代码,Indian_pines
import tensorflow as tf
from tensorflow.python.ops import math_ops
class CNNModel(tf.keras.Model):
def __init__(self, classes):
super(CNNModel, self).__init__()
self.c1 = tf.keras.layers.Conv2D(filters=128, kernel_size=(1, 1), padding='same', input_shape=(-1, 5, 5, 204))
self.norm1 = tf.keras.layers.LayerNormalization()
self.norm2 = tf.keras.layers.LayerNormalization()
self.a1 = tf.keras.layers.Activation(activation=tf.nn.relu)
self.a2 = tf.keras.layers.Activation(activation=tf.nn.relu)
self.a3 = tf.keras.layers.Activation(activation=tf.nn.softmax)
self.drop1 = tf.keras.layers.Dropout(0.6)
self.drop2 = tf.keras.layers.Dropout(0.6)
self.c2 = tf.keras.layers.Conv2D(filters=64, kernel_size=(1, 1), padding='same', input_shape=(-1, 5, 5, 128))
self.c3 = tf.keras.layers.Conv2D(filters=classes, kernel_size=(1, 1), padding='same', input_shape=(-1, 5,