zoukankan      html  css  js  c++  java
  • Tensorflow报错总结

    输入不对应

    报错内容:

    WARNING:tensorflow:Model was constructed with shape (None, 79) for input Tensor("genres:0", shape=(None, 79), dtype=float32), but it was called on an input with incompatible shape (128, 5).
    

    定义模型的输入和训练时候传入的input不对应,比如:

    input1 = Input(shape=(3,))
    input2 = Input(shape=(3,))
    model = Model(inputs=[input1, input2], output=...)
    model.compile(...)
    model.fit([X], y). # 定义了两个输入,训练时只传了一个
    

    如果是一个稀疏的矩阵可以用tf.SparseTensor表示,定义稀疏矩阵三个参数:

    • indices 用来设置有值的位置,也就是下标
    • values 用来指定有值位置的值
    • dense_shape 指定 矩阵的形状

    例如定义一个2行32列的矩阵,只有第1行的第二个位置,和2行的第一个位置有值,值分别为1, 2:

    sparse_tensor = tf.SparseTensor(indices=[[0, 1], [1, 0]], values=[1, 2], dense_shape=[2, 32])
    print(tf.sparse.to_dense(sparse_tensor)) # 转换为稠密矩阵
    

    输出:

    tf.Tensor(
    [[0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
     [2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]], shape=(2, 32), dtype=int32)
    

    同样还有方法tf.sparse.from_dense把稠密矩阵转换为稀疏矩阵.

    loss值巨大
    表现为loss值非常大,或者loss不大,但是val_loss非常大。原因是数值特征没有统一量纲就给了全链接层,
    而神经元对数值大小敏感导致评估结果无法很大。
    解决办法:数值特征要统一量纲。

  • 相关阅读:
    利用Github Actions自动保持 GitHub 提交状态常绿
    windows下搭建轻量级php代码审计环境
    jquery实现点击弹出对话框
    redis学习记录(1)Redis简介
    StatefulSet
    Pod
    Spark 写Hive指定动态分区
    我常用的git操作
    在C#中如何使用GetOpenFileName函数多选文件
    image matching challenge
  • 原文地址:https://www.cnblogs.com/oaks/p/14043877.html
Copyright © 2011-2022 走看看