风澜舞 2021-06-26 12:32 采纳率: 0%
浏览 282

tensorflow keras训练过程中,输出正确率和损失函数值都为0,这个是哪里出问题了

 ### 生成数据集代码:

> 数据集是满足x*x < y的

import random
def line_split():

    with open("dataset/line_split.txt", "w", encoding="utf-8") as f:
        num = 1000
        s = []
        for i in range(num):
            x = random.random()*10
            y = random.random()*20
            if x*x < y:
                if i != (num-1):
                    s.append("{},{},{}\n".format(x, y, 1))
                else:
                    s.append("{},{},{}".format(x, y, 1))
            else:
                if i != (num - 1):
                    s.append("{},{},{}\n".format(x, y, -1))
                else:
                    s.append("{},{},{}".format(x, y, -1))
        f.writelines(s)

### 加载数据代码:

def s2f(num):
    return float(num)

def load_data(file_name):
    with open(file_name, "r", encoding="utf-8") as f:
        lines = f.readlines()
        x, y = [], []
        for line in lines:
            data = list(map(s2f, line.split(",")))
            x.append(data[:-1])
            y.append(data[-1])
        return x, y

### 源代码:

import tensorflow as tf
import load_data

x, y = load_data.load_data("dataset/line_split.txt")
x = tf.cast(x, dtype=tf.float32)
y = tf.cast(y, dtype=tf.int32)

model = tf.keras.models.Sequential([
    tf.keras.layers.Dense(
        2,
        activation="softmax",
        kernel_regularizer=tf.keras.regularizers.l2()  # 正则化
    )]
)

model.compile(
    optimizer=tf.keras.optimizers.SGD(lr=0.5),
    loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
    metrics=['binary_accuracy']
)

model.fit(x, y, batch_size=32, epochs=100, validation_split=0.2, validation_freq=20)

model.summary()

### 很奇怪,所有的loss和准确率都为0,这个是为什么???

 

  • 写回答

1条回答 默认 最新

  • 明天的小泽 2022-10-16 23:13
    关注

    请问解决了吗?求帮助

    评论

报告相同问题?

悬赏问题

  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法