Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.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
Tensorflow 在我的结果中显示准确性,并解释损失和价值损失的结果_Tensorflow_Machine Learning_Keras_Deep Learning - Fatal编程技术网

Tensorflow 在我的结果中显示准确性,并解释损失和价值损失的结果

Tensorflow 在我的结果中显示准确性,并解释损失和价值损失的结果,tensorflow,machine-learning,keras,deep-learning,Tensorflow,Machine Learning,Keras,Deep Learning,我是tensorflow的新手,我正在尝试通过github中的示例学习它,现在我找到了一个示例,但损失和val_损失的结果大于“1”(您可以看到下面的结果介于800和700之间),而通常在其他示例中,损失和val_损失介于0和1之间) 另外我想知道如何使出现的准确性。 这是代码。 谢谢大家! def系列型号(输入到softmax, 泡菜路, 保存模型路径, train_json='train_corpus.json', valid_json='valid_corpus.json', 小批量_尺

我是tensorflow的新手,我正在尝试通过github中的示例学习它,现在我找到了一个示例,但损失和val_损失的结果大于“1”(您可以看到下面的结果介于800和700之间),而通常在其他示例中,损失和val_损失介于0和1之间)

另外我想知道如何使出现的准确性。 这是代码。

谢谢大家!

def系列型号(输入到softmax, 泡菜路, 保存模型路径, train_json='train_corpus.json', valid_json='valid_corpus.json', 小批量_尺寸=20, 光谱图=真, mfcc_dim=13, 优化器=SGD(lr=0.02,衰变=1e-6,动量=0.9,nesterov=True,clipnorm=5), 纪元=20, verbose=1, 按持续时间排序=假, 最大持续时间=10.0):

pickle.dump(历史记录,f)

纪元1/20 106/106[=============================================================================================================================================-302s-损失:839.6881-价值损失:744.7609 纪元2/20 106/106[======================================================================================================-276s-损失:767.3973-价值损失:727.8361 纪元3/20 106/106[==================================================================================================================-272s-损失:752.6904-价值损失:720.8375 纪元4/20 106/106[====================================================================================-261s-损失:751.8432-价值损失:728.3446 纪元5/20 106/106[==============================================================================-261s-损失:752.1302-价值损失:733.3166 纪元6/20 106/106[=======================================================================================-264s-损失:752.3786-价值损失:722.4345 纪元7/20 106/106[===============================================================================================================-265s-损失:752.7827-价值损失:723.2651 纪元8/20 106/106[==========================================================================================================================================-263s-损失:752.5077-瓦卢损失:736.0229 纪元9/20
106/106[==============================================================================-263s-损失:752.5616-val_损失:731.2018

您使用的损失在本节中进行了描述

当你说准确性时,它可能意味着很多事情:

  • 单单位精度(在您拥有的标签上求平均值。注意:对于同一数据点,您有多个标签,因为它是时间分类)[将介于0和1之间]
  • 错误率:可定义为预测标签和真实标签之间的编辑距离[在数据点上的平均值介于0和MAX_标签之间]
  • 所有时间步长和数据点上的平均标签精度
它没有理由介于0和1之间。 另一方面,你的损失是一个连接论的时间损失。这个损失在每个时间步预测一个标签或一个空白标签。然后我们在标签上使用交叉熵。两个概率分布的交叉熵只是一个正数,不在0和1之间


因此,这不是一个问题。如果您希望看到精度,您将获取一些测试数据并进行预测。您可以计算精度(如上所述)使用Tensorflow对预期标签使用您想要的任何度量,并将其用作您的精度。在预测步骤之后,您可以在技术上使用Tensorflow:中定义的任何度量。

本节介绍了您使用的损失

当你说准确性时,它可能意味着很多事情:

  • 单单位精度(在您拥有的标签上求平均值。注意:对于同一数据点,您有多个标签,因为它是时间分类)[将介于0和1之间]
  • 错误率:可定义为预测标签和真实标签之间的编辑距离[在数据点上的平均值介于0和MAX_标签之间]
  • 所有时间步长和数据点上的平均标签精度
它没有理由介于0和1之间。 另一方面,你的损失是一个连接论的时间损失。这个损失在每个时间步预测一个标签或一个空白标签。然后我们在标签上使用交叉熵。两个概率分布的交叉熵只是一个正数,不在0和1之间

因此,这不是一个问题。如果您希望看到精度,您将获取一些测试数据并进行预测。您可以计算精度(如上所述)使用Tensorflow对预期标签使用您想要的任何度量,并将其用作您的精度。在预测步骤之后,您可以在技术上使用Tensorflow:中定义的任何度量

# create a class instance for obtaining batches of data
audio_gen = AudioGenerator(minibatch_size=minibatch_size, 
    spectrogram=spectrogram, mfcc_dim=mfcc_dim, max_duration=max_duration,
    sort_by_duration=sort_by_duration)
# add the training data to the generator
audio_gen.load_train_data(train_json)
audio_gen.load_validation_data(valid_json)
# calculate steps_per_epoch
num_train_examples=len(audio_gen.train_audio_paths)
steps_per_epoch = num_train_examples//minibatch_size
# calculate validation_steps
num_valid_samples = len(audio_gen.valid_audio_paths) 
validation_steps = num_valid_samples//minibatch_size

# add CTC loss to the NN specified in input_to_softmax
model = add_ctc_loss(input_to_softmax)

# CTC loss is implemented elsewhere, so use a dummy lambda function for the loss
model.compile(loss={'ctc': lambda y_true, y_pred: y_pred}, optimizer=optimizer)

# make results/ directory, if necessary
if not os.path.exists('results'):
    os.makedirs('results')

# add checkpointer
checkpointer = ModelCheckpoint(filepath='results/'+save_model_path, verbose=0)

# train the model
hist = model.fit_generator(generator=audio_gen.next_train(), steps_per_epoch=steps_per_epoch,
    epochs=epochs, validation_data=audio_gen.next_valid(), validation_steps=validation_steps,
    callbacks=[checkpointer], verbose=verbose)

# save model loss
with open('results/'+pickle_path, 'wb') as f: