首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Tensorflow:在不同的函数中训练和测试

在TensorFlow中,你可以在不同的函数中分别进行训练和测试。以下是一个简单的例子,展示了如何在两个不同的函数中进行训练和测试:

代码语言:javascript
复制
import tensorflow as tf
from tensorflow.keras import layers, models

# 准备数据
(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
x_train = x_train[..., tf.newaxis]
x_test = x_test[..., tf.newaxis]

train_ds = tf.data.Dataset.from_tensor_slices((x_train, y_train)).shuffle(10000).batch(32)
test_ds = tf.data.Dataset.from_tensor_slices((x_test, y_test)).batch(32)

# 创建模型
model = models.Sequential([
    layers.Conv2D(32, 3, activation='relu', input_shape=(28, 28, 1)),
    layers.MaxPooling2D(),
    layers.Conv2D(64, 3, activation='relu'),
    layers.MaxPooling2D(),
    layers.Flatten(),
    layers.Dense(128, activation='relu'),
    layers.Dense(10, activation='softmax')
])

# 编译模型
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

def train_model(model, train_data, epochs):
    model.fit(train_data, epochs=epochs)
    print("训练完成")

def test_model(model, test_data):
    loss, accuracy = model.evaluate(test_data)
    print(f"测试损失: {loss}, 测试准确率: {accuracy}")

# 训练模型
train_model(model, train_ds, epochs=5)

# 测试模型
test_model(model, test_ds)

在这个例子中,我们首先导入了所需的库,并准备了MNIST数据集。然后,我们创建了一个简单的卷积神经网络模型,并对其进行了编译。

接下来,我们定义了两个函数:train_modeltest_modeltrain_model 函数接受模型、训练数据和训练轮数作为参数,并使用 fit 方法进行训练。test_model 函数接受模型和测试数据作为参数,并使用 evaluate 方法计算损失和准确率。

最后,我们调用这两个函数来分别进行训练和测试。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券