Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将keras与tensorboard一起使用时,不断获取Nan值错误_Python_Tensorflow_Machine Learning_Keras_Deep Learning - Fatal编程技术网

Python 将keras与tensorboard一起使用时,不断获取Nan值错误

Python 将keras与tensorboard一起使用时,不断获取Nan值错误,python,tensorflow,machine-learning,keras,deep-learning,Python,Tensorflow,Machine Learning,Keras,Deep Learning,我在conda上使用python3,在tensorflow上使用keras进行深入学习,并使用tensorboard记录模型(我使用直方图) 我不断得到以下错误: InvalidArgumentError(回溯见上文):汇总为Nan conv2d_1/kernel_0[[节点conv2d_1/kernel_0(已定义)]的直方图 在 /home/user/anaconda3/envs/siamese/lib/python2.7/site-packages/keras/callbacks.py:7

我在conda上使用python3,在tensorflow上使用keras进行深入学习,并使用tensorboard记录模型(我使用直方图)

我不断得到以下错误:

InvalidArgumentError(回溯见上文):汇总为Nan conv2d_1/kernel_0[[节点conv2d_1/kernel_0(已定义)]的直方图 在 /home/user/anaconda3/envs/siamese/lib/python2.7/site-packages/keras/callbacks.py:796) =historogramsummary[T=DT_FLOAT,_device=“/job:localhost/replica:0/task:0/device:CPU:0”](conv2d_1/kernel_0/tag, conv2d_1/kernel/read/_139)]]

我读到这是因为tensorboard日志记录使nan值显式

我试图改变 我试图降低学习速度 我试图剪辑损失函数值 我试图使k.epsilon值更高(1e-4) 我试图给预测增加一点价值 我将最后一层的激活改为sigmoid

似乎什么都不管用

这是我的密码

    def triplet_wrapper(y_true, y_pred):
        import keras.backend as k
        from tensorflow.math import l2_normalize
        y_pred = k.clip(y_pred, 1e-6, 1e1)
        return k.clip(metric_learning.triplet_semihard_loss(k.squeeze(y_true, 1) + 1e-7, l2_normalize(y_pred, epsilon=1e-7)), 1e-7, 1e1)


        keras.losses.custom_loss = triplet_wrapper
        model5 = Sequential()
        model5.add(Conv2D(32, (3, 3), activation="relu", input_shape=input_shape))
        model5.add(MaxPool2D((2, 2)))
        for i in range(layers - 1):
            model5.add(Conv2D(64, (3, 3), activation="relu"))
            model5.add(MaxPool2D((2, 2)))
        model5.add(Flatten())
        model5.add(Dropout(0.5))
        model5.add(Dense(100, activation="sigmoid"))
        model5.add(Dropout(0.5))
        model5.compile(loss=triplet_wrapper, optimizer=Adam(lr=0.0001))
我使用这个规范化的数据加载器加载数据

i = ImageDataGenerator(rescale=1.0 / 255.0)
是数据集(它很大,我将整个培训集放在一个目录-数据集中,然后运行此脚本)