Tensorflow 在tf.keras中是否打破了val_样品重量?

Tensorflow 在tf.keras中是否打破了val_样品重量?,tensorflow,machine-learning,tf.keras,Tensorflow,Machine Learning,Tf.keras,我似乎无法使用model.fit()使val\u sample\u weights处理验证数据。 我对val\u-sample\u-weight的理解是,假设它与sample\u-weight完全相同,这样在使用sample\u-weight进行训练时,可以直接比较报告的loss和val\u-loss 从下面的示例代码中,我们可以看到,当将sample\u weight设置为零时,loss变为零,但将val\u sample\u weights设置为零时,val\u loss不受影响 我是否在这

我似乎无法使用
model.fit()
使
val\u sample\u weights
处理验证数据。 我对
val\u-sample\u-weight
的理解是,假设它与
sample\u-weight
完全相同,这样在使用
sample\u-weight
进行训练时,可以直接比较报告的
loss
val\u-loss

从下面的示例代码中,我们可以看到,当将
sample\u weight
设置为零时,
loss
变为零,但将
val\u sample\u weights
设置为零时,
val\u loss
不受影响

我是否在这里遗漏或误解了什么,或者这看起来像是
val\u sample\u weights
tf.keras
中没有用处?可能是tf.keras中的一个bug?我在Windows上,tensorflow版本1.14.0

如果您想自己测试,下面是一个工作示例:

将tensorflow导入为tf
将numpy作为np导入
数据大小=100
输入大小=3
种子=1
#同步列车数据
x\u train=np.random.rand(数据大小、输入大小)
y_序列=np.random.rand(数据大小,1)
#合成测试数据
x_测试=np.random.rand(数据大小、输入大小)
y_检验=np.random.rand(数据大小,1)
tf.random.set_random_seed(种子)
#创建模型
输入=tf.keras.layers.Input(形状=(输入大小))
pred=tf.keras.layers.density(1,activation='sigmoid')(输入)
模型=tf.keras.models.model(输入=输入,输出=预测)
损失=tf.keras.loss.MSE
指标=tf.keras.loss.MAE
compile(loss=loss,metrics=[metrics],optimizer='adam')
#将模型设置为静态,以便我们可以在不同场景之间进行比较
对于model.layers中的图层:
layer.trainable=错误
#基本模型无权重(与无类权重的结果相同)
模型拟合(x=x\u序列,y=y\u序列,验证数据=(x\u测试,y\u测试))
#哪些产出:
#>100/100[==================================================================-0s 1ms/样本-损耗:0.0851-平均绝对误差:0.2511-val损耗:0.0900-val平均绝对误差:0.2629
#将样本权重更改为零,因此损失和价值损失应为零,度量应相同
样本重量系列=np.零(100)
样本重量=np.零(100)
模型拟合(x=x\u序列,y=y\u序列,样本重量=样本重量,验证数据=(x\u测试,y\u测试,样本重量)
#哪些产出:
#>100/100[========================================================================-0s 860us/样本-损耗:0.0000e+00-平均绝对误差:0.2507-val损耗:0.0899-val平均绝对误差:0.2627