CNN一维矩阵分类代码
时间: 2023-11-09 22:15:40 浏览: 30
下面是一个简单的使用CNN对一维矩阵进行分类的代码示例:
```python
import numpy as np
import tensorflow as tf
from tensorflow.keras import layers
# 构建模型
model = tf.keras.Sequential()
model.add(layers.Conv1D(32, 3, activation='relu', input_shape=(100, 1)))
model.add(layers.Conv1D(64, 3, activation='relu'))
model.add(layers.MaxPooling1D(3))
model.add(layers.Flatten())
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(10, activation='softmax'))
# 配置模型
model.compile(optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'])
# 准备数据
x_train = np.random.random((1000, 100, 1))
y_train = tf.keras.utils.to_categorical(np.random.randint(10, size=(1000, 1)), num_classes=10)
x_test = np.random.random((100, 100, 1))
y_test = tf.keras.utils.to_categorical(np.random.randint(10, size=(100, 1)), num_classes=10)
# 训练模型
model.fit(x_train, y_train, epochs=10, batch_size=16, validation_data=(x_test, y_test))
```
这个代码使用了一个包含两个卷积层和一个全连接层的简单的CNN模型,用于对长度为100的一维矩阵进行分类。在训练过程中,使用了随机生成的数据进行训练和验证。