我正在研究tensorflow.keras中的一个不平衡的分类问题。我决定按照this answer on cross validated的建议计算“几何平均分”。我在一个名为imbalanced-learn的包中发现了一个implementation of it,并意识到它不能用作tensorflow.keras.Model.compile(metrics=[])中的指标之一;而且由于我还希望在每次调用时都向它传递一个参数,所以我决定自己实现一个自定义指标并使用它。但是我在测试过程中遇到了一个错误,那就是: AttributeError: 'GeometricMeanScore
我想创建一个基于MLP的自定义CNN模型(多尺度),由几个并行的小网络(胶囊)组成。这些简单的小网络被实例化为每个卷积尺度(即3x3,5x5 )的自定义图层(conv2d->Flatten->Dense)。这些胶囊网络的目的是使用CNN模型产生中间损失意识,以减少总体损失。我写了一些粗略的代码,但我不能写正确的代码来使用这些胶囊计算局部损失。代码如下:
from tensorflow.keras import layers
import tensorflow as tf
from tensorflow.keras.datasets import mnist
from tensorf
我正在尝试将LogCosh函数实现为自定义损失函数。当我这样做时,我得到了一个错误,因为拟合阶段将NaN作为损失。更奇怪的是,当我运行它时,它开始给出损失的实际值,然后到达一个点,它再次开始返回NaN。
我的模型:
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
model = tf.keras.Sequential([
tf.keras.layers.Flatten(input_shape=(81,)),
tf.keras.layers.Dens
操作系统: Ubuntu 16.04
Python 3.5
我试图在一个加强策略梯度算法程序上实现一个自定义损失函数,但遇到了以下错误:
2018-03-28 23:32:37.766405: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA Traceback (most recent call last): File "reinforce.
在keras的所有代码示例中,我看到输入形状是直接传递的,并且推测批处理大小是第一个,例如:
model = Sequential()
model.add(Dense(32, input_shape=(16,)))
# now the model will take as input arrays of shape (*, 16)
# and output arrays of shape (*, 32)
但是,当涉及到自定义损失时,我看到使用了最后一个轴(轴=-1)。
def loss(y_true,y_pred):
return K.mean(K.square(y_pred
我需要一些关于keras损失函数的帮助。我一直在使用Tensorflow后端在keras上实现自定义损失函数。
我已经在numpy中实现了自定义损失函数,但如果能将其转换为keras损失函数就更好了。loss函数接受数据帧和一系列用户id。如果user_id不同,则相同user_id的欧几里德距离为正和负。该函数返回数据帧的标量距离之和。
def custom_loss_numpy (encodings, user_id):
# user_id: a pandas series of users
# encodings: a pandas dataframe of encodings
我训练了一个数字图像并制作了一个模型文件。
相应的调味汁如下。
import os
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
from tensorflow.keras.datasets import mnist
from tensorflow.keras.utils import to_categorical
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
我正在实现一个自定义损失函数,如下面的代码所示,用于简单的分类。但是,当我运行代码时,我得到错误ValueError:没有为任何变量提供渐变: import os
os.environ['KERAS_BACKEND'] = "tensorflow"
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from tensorflow import keras
from tensorflow.keras import layers
from sklearn.prep
我正试图通过创建一个继承于Model的类来使用自己的训练方法来使用Keras。虽然训练工作正常,但即使将训练数据发送给它,评估函数也总是对损失返回0,这在训练过程中有很大的损失值。我无法共享我的代码,但能够使用中的Keras示例进行复制--我将密集层更改为2个单元,而不是一个单元,并将其激活为sigmoid。
守则:
import tensorflow.keras as keras
import tensorflow as tf
import numpy as np
loss_tracker = keras.metrics.Mean(name="loss")
# mae_me
我正在运行这个Tensorflow NMT教程:
当我尝试保存解码器:decoder.save('decoder')时,我得到:
AssertionError: Tried to export a function which references untracked object Tensor("LuongAttention/memory_layer/Tensordot:0", shape=(1024, 23, 256), dtype=float32).TensorFlow objects (e.g. tf.Variable) captured by func
我正在尝试为我用Keras编写的模型编写一个像素加权损失函数,但在TensorFlow 2.0中似乎不再可能了,即除了y_true和y_pred之外,不可能有其他输入的损失函数
我以前是这样写的:
from tensorflow.keras.layers import Input, Conv2D
from tensorflow.keras.optimizers import Adam
from tensorflow.keras import backend as K
def my_keras_model():
input = Input((256,256,1), name='in