当前位置: 首页 > 知识库问答 >
问题:

Tensorflow训练崩溃在第一个时代的最后一步音频分类器

云航
2023-03-14

我试图将最初用Pytorch编写的自定义DNN网络转换为Tensorflow 2,该网络具有所需的输入形状(batchsize,39101,1)。在使用特征提取器并获得具有兼容维度的序列和验证数据集的维度(total_samples,39101,1)之后,我尝试使用模型来训练模型。适合在第一个纪元的最后一步,我面临一个错误,如下所示,这表明我的张量形状正在发生某种变化。我不知道为什么这只发生在最后一步。我的回调非常简单,与模型检查点和earlystopping相关,如下所示。我的数据库来自谷歌语音数据集v0。01.我相信这是在验证步骤开始之前发生的。如果有人能提供任何建议来修复它,那就太好了。

以下是我的培训和验证数据集尺寸:

print(x_tr.shape) -> (17049, 39, 101, 1)
print(y_tr.shape) -> (17049, 10)
print(x_val.shape) -> (4263, 39, 101, 1)
print(y_val.shape) -> (4263, 10)
modelname, input_shape, numclass = 'CRNN', (39,101,1), 10

model = modelcreator.getmodel(modelname, input_shape, numclass)
es = EarlyStopping(monitor='val_loss', mode='min', verbose=1, patience=10, min_delta=0.0001) 
mc = ModelCheckpoint('best_model.hdf5', monitor='val_acc', verbose=1, save_best_only=True, mode='max')
history=model.fit(x_tr, y_tr ,epochs=100, callbacks=[es,mc], batch_size=64, validation_data=(x_val,y_val))

纪元1/100 266/267 [============================

---------------------------------------------------------------------------中的InvalidArgumentError回溯(最后一次最近调用)----

~/Desktop/speaked\u Keyword\u Spotting/newenv/lib/python3。6/站点包/tensorflow/python/keras/engine/training。py in_method_wrapper(self,*args,**kwargs)106 def_method_wrapper(self,*args,**kwargs):107如果不是self_在多工作模式()下:#pylint:disable=受保护访问--

~/桌面/Spoken_Keyword_Spotting/newenv/lib/python3.6/site-包/tensorflow/python/keras/引擎/training.py适合(自我,x,y,batch_size,时代,冗长,回调,validation_split,validation_data,洗牌,class_weight,sample_weight,initial_epoch,steps_per_epoch,validation_steps,validation_batch_size,validation_freq,max_queue_size,工人,use_multiprocessing)batch_size=batch_size):
1097callbacks.on_train_batch_begin(步)-

~/Desktop/Spoken_Keyword_Spotting/newenv/lib/python3.6/site-包/tenstorflow/python/渴望/def_function.py调用(自我,*args,**kwds)778其他: 779编译器="nonXla"-

~/Desktop/speaked\u Keyword\u Spotting/newenv/lib/python3。6/站点包/tensorflow/python/eager/def_函数。py in_call(self,*args,**kwds)805 35;在本例中,我们在第一次调用时创建了变量,因此我们运行806#defunned版本,该版本保证永远不会创建变量--

~/Desktop/speaked\u Keyword\u Spotting/newenv/lib/python3。6/站点包/tensorflow/python/eager/function。呼叫中的py(self,*args,**kwargs)2827与self_锁定:
2828图形_函数,args,kwargs=self_可能定义函数(args,kwargs)-

~/Desktop/speaked\u Keyword\u Spotting/newenv/lib/python3。6/站点包/tensorflow/python/eager/function。py in_filtered_call(self、args、kwargs、cancellation_manager)1846
资源变量操作。BaseResourceVariable),1847
捕获的输入=自身。捕获的输入-

~/Desktop/speaked\u Keyword\u Spotting/newenv/lib/python3。6/站点包/tensorflow/python/eager/function。py in_call_flat(self、args、捕获的输入、取消管理器)
1922#没有磁带在观看;跳到运行函数<1923年回归自我_生成调用输出(自推理)函数。调用(-

~/Desktop/speaked\u Keyword\u Spotting/newenv/lib/python3。6/站点包/tensorflow/python/eager/function。呼叫中的py(self、ctx、args、取消管理器)548个输入=args,549个attrs=attrs--

~/Desktop/speaked\u Keyword\u Spotting/newenv/lib/python3。6/站点包/tensorflow/python/eager/execute。快速执行中的py(操作名称、数量输出、输入、属性、ctx、名称)58 ctx。确保\u initialized()59张量=pywrap\u tfe。TFE_Py_Execute(ctx._句柄、设备名称、操作名称、---

InvalidArgumentError:从具有形状[25512][{{{node TensorArrayUnstack/TensorListFromTensor}}}]
[[functional_3/lstm_1/PartitionedCall]]的张量中指定了一个具有形状[64512]的列表[Op:_推断_训练_函数_13255]

函数调用堆栈:train_函数-

共有1个答案

鞠修雅
2023-03-14

我从下面的链接中猜到了。基于这里的答案:InvalidArgumentError:指定了一个带有形状[60,9]的张量列表,该张量带有形状[56,9]

我的模型在末尾包含一个LSTM层,返回序列=True。因此,在上一个纪元中,接收的批次的样本数少于批次大小。面对这个问题

 类似资料:
  • 译者:bat67 最新版会在译者仓库首先同步。 目前为止,我们以及看到了如何定义网络,计算损失,并更新网络的权重。 现在可能会想, 数据呢? 通常来说,当必须处理图像、文本、音频或视频数据时,可以使用python标准库将数据加载到numpy数组里。然后将这个数组转化成torch.*Tensor。 对于图片,有Pillow,OpenCV等包可以使用 对于音频,有scipy和librosa等包可以使用

  • 我们有一个用代号一编写的视频供应应用程序<我们正在使用com。代号1。媒体MediaPlayer使用本机播放器组件全屏显示视频<我们的客户注意到,当您按下快进键时( 播放视频的代码如下所示:; 我从控制台收集了以下日志(如果有帮助的话); Android上的一切都正常工作。 编辑: 重构代码以使用文件URL而不是输入流,但在iOS上仍然存在相同的错误 编辑: 这里有一个非常简单的测试用例来说明这个

  • 我有一个多类数据集,正在尝试使用对每个类进行分类。 因此,我想知道如何在每个类上训练<code>OneClassSVM()

  • 本文向大家介绍tensorflow 固定部分参数训练,只训练部分参数的实例,包括了tensorflow 固定部分参数训练,只训练部分参数的实例的使用技巧和注意事项,需要的朋友参考一下 在使用tensorflow来训练一个模型的时候,有时候需要依靠验证集来判断模型是否已经过拟合,是否需要停止训练。 1.首先想到的是用tf.placeholder()载入不同的数据来进行计算,比如 这种方式很简单,也很

  • Firebase崩溃报告捕获的异常: 异常java.lang.运行时异常:无法启动活动ComponentInfo{com.talmir.mickinet/com.talmir.mickinet.activities.HomeActivity}:android.content.res.资源$NotFound异常:资源ID 0x7f080058android.app.ActivityThread.pe

  • 本教程演示了如何使用TensorFlow.js运算符重头构建小型玩具模型. 我们将使用多项式函数生成一些合成数据的曲线. 先决条件 本教程假设您熟悉TensorFlow.js的基本构建块介绍在TensorFlow.js中的核心概念:张量,变量和操作.我们建议在完成本教程之前完成核心概念。 运行代码 本教程重点介绍用于构建模型和其系数的TensorFlow.js代码.可以在此处找到本教程的完整代码(