搭建两层CNN网络可以使用TensorFlow来实现。在TensorFlow中,可以使用`tf.keras`模块来构建卷积神经网络。

## 步骤一:导入依赖库
使用TensorFlow之前,首先需要导入相关依赖库。在这个例子中,我们需要导入`tensorflow`和`tensorflow.keras`模块。

```python
import tensorflow as tf
from tensorflow import keras
```

## 步骤二:构建模型
在搭建两层CNN网络之前,需要先创建一个模型。使用`keras.Sequential()`函数可以创建一个顺序模型,通过逐层添加网络层来构建卷积神经网络。

```python
model = keras.Sequential()
```

## 步骤三:添加第一层卷积层和池化层
在模型中添加卷积层和池化层可以进行特征提取和降维。在这个例子中,我们可以添加一个卷积层和一个最大池化层。

```python
model.add(keras.layers.Conv2D(16, (3, 3), activation='relu', input_shape=(height, width, channels)))
model.add(keras.layers.MaxPooling2D(pool_size=(2, 2)))
```

## 步骤四:添加第二层卷积层和池化层
在模型中可以添加多个卷积层和池化层以进行更复杂的特征提取。在这个例子中,我们再添加一层卷积层和池化层。

```python
model.add(keras.layers.Conv2D(32, (3, 3), activation='relu'))
model.add(keras.layers.MaxPooling2D(pool_size=(2, 2)))
```

## 步骤五:添加全连接层和输出层
在卷积神经网络的最后一层添加全连接层和输出层。全连接层将卷积层输出的特征图转换为一维向量,输出层则用于分类或回归。

```python
model.add(keras.layers.Flatten())
model.add(keras.layers.Dense(64, activation='relu'))
model.add(keras.layers.Dense(num_classes, activation='softmax'))
```

## 步骤六:编译和训练模型
在模型构建完毕后,需要编译模型并进行训练。在编译模型时,需要指定损失函数和优化器。

```python
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs, validation_data=(x_test, y_test))
```

这样,一个简单的两层CNN网络就搭建完成了。你可以根据自己的需求和数据集的特点,调整网络架构和参数。