tensorflow之神经网络层:Flatten,flatten

1.tf.layers.Flatten

Class Flatten:在保留第0轴的情况下对输入的张量进行Flatten(扁平化)

代码示例:

x=tf.placeholder(shape=(None,4,4),dtype='float32')

y=tf.layers.Flatten()(x)

print(y)

输出:

Tensor("flatten/Reshape:0", shape=(?, 16), dtype=float32)

2.tf.layers.flatten

同Flatten类。

tf.layers.flatten(

    inputs,

    name=None

)

参数:

  1. inputs:输入的张量
  2. name:层的名称

x=tf.placeholder(shape=(None,4,4),dtype='float32')

y=tf.layers.flatten(x)

print(y)

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是用tensorflow写的卷积神经网络进行特征提取,支持向量机进行十分类的代码: ```python import tensorflow as tf from sklearn.svm import SVC from sklearn.metrics import accuracy_score # 构建卷积神经网络 def cnn_model(X): # 输入 input_layer = tf.keras.layers.Input(shape=X.shape[1:]) # 卷积 conv_layer = tf.keras.layers.Conv2D(filters=32, kernel_size=3, activation='relu')(input_layer) # 池化 pool_layer = tf.keras.layers.MaxPooling2D(pool_size=(2, 2))(conv_layer) # 扁平化 flatten_layer = tf.keras.layers.Flatten()(pool_layer) # 全连接 dense_layer = tf.keras.layers.Dense(units=128, activation='relu')(flatten_layer) # 输出 output_layer = tf.keras.layers.Dense(units=10, activation='softmax')(dense_layer) # 定义模型 model = tf.keras.models.Model(inputs=input_layer, outputs=output_layer) return model # 加载数据集 (X_train, y_train), (X_test, y_test) = tf.keras.datasets.mnist.load_data() # 数据预处理 X_train = X_train / 255. X_test = X_test / 255. X_train = X_train.reshape((-1, 28, 28, 1)) X_test = X_test.reshape((-1, 28, 28, 1)) # 构建模型 model = cnn_model(X_train) # 编译模型 model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) # 训练模型 model.fit(X_train, y_train, epochs=5, batch_size=64, validation_data=(X_test, y_test)) # 提取特征 feature_extractor = tf.keras.models.Model(inputs=model.inputs, outputs=model.layers[-2].output) train_features = feature_extractor.predict(X_train) test_features = feature_extractor.predict(X_test) # 支持向量机进行分类 svm_model = SVC(kernel='linear') svm_model.fit(train_features, y_train) svm_pred = svm_model.predict(test_features) # 计算准确率 accuracy = accuracy_score(y_test, svm_pred) print("Accuracy:", accuracy) ``` 这段代码实现了对 MNIST 数据集的特征提取和分类,其中卷积神经网络用于特征提取,支持向量机用于十分类。最终输出分类准确率。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值