我正在研究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中的sparse_categorical_crossentropy可以得到每个类别之间的平均损失函数。但是如果只有一个特定的类别是我最关心的呢?例如,如果我想将基于此类别的精度(=TP/(TP+FP))定义为损失函数,我该如何编写它?谢谢!
我的代码是这样的:
from keras import backend as K
def my_loss(y_true,y_pred):
y_true = K.cast(y_true,"float32")
y_pred = K.cast(K.argmax(y_pred),"float32"
在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
我训练了一个数字图像并制作了一个模型文件。
相应的调味汁如下。
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
我想用keras编写一个自定义损失函数,它也使用输出的梯度。
import numpy as np
from keras.models import Sequential
from keras.layers import Dense, Dropout
model = Sequential()
model.add(Dense(200, input_dim=20, activation='relu'))
model.add(Dense(64, input_dim=20, activation='relu'))
model.add(Dropout(0.5))
mod
我正在尝试用这个自定义损失函数训练我的模型:1 其中S(pn;ω)是预测值(y_pred),MOSn是目标(y_true),所以我是这样写的: import keras.backend as K
def custom_loss_function(y_true,y_pred):
for i in range(1,n+1):
l= K.abs(y_pred-y_true)
l = K.mean(l, axis=-1)
return l 然后我构建了我的模型: #Model definition
from keras import models
from keras i
我正在尝试使用Keras的functional API来处理多个输入,并使用自定义的损失函数RMSLE。下面是我的代码: import tensorflow as tf
from tensorflow.keras.layers import *
from tensorflow.keras.models import Sequential, Model
from tensorflow.keras import backend as K
from tensorflow.keras.losses import MeanSquaredLogarithmicError
def rmsle(y_tru
我想使用load_model('path/to/model.h5')加载一个经过训练的模型。
model.h5的体系结构类似于
model = Sequential()
model.add(Dense(128, activation='relu'))
model.add(Dense(64, activation='relu'))
# The last layer is regularized with a custom regularizer
model.add(Dense(10, activation='softmax', W_
我的数据X有一个keras模型。使用的代码是:
X=np.array(data[['tags1','prx1','prxcol1','p1','p2','p3']].values)
t=np.array(data.read.values)
n=np.array(data.read.values)
import keras
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
import tensorflow as
我想评估tensorflow模型的自定义输入,如何做到这一点?我有下面的工作tensorflow代码
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras.layers import Flatten, Dense
import numpy as np
import pandas as pd
all_data, all_labels = np.resize(np.linspace(0,50,100),[1000,3]), np.random.randint(0,2,[1000])
def build