亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否可以將 NumPy 函數映射到 tf.data.dataset?

是否可以將 NumPy 函數映射到 tf.data.dataset?

jeck貓 2022-01-18 21:37:49
我有以下簡單的代碼:import tensorflow as tfimport numpy as npfilename = # a list of wav filenames   x = tf.placeholder(tf.string)def mfcc(x):    feature = # some function written in NumPy to convert a wav file to MFCC features    return featuremfcc_fn = lambda x: mfcc(x)# create a training datasettrain_dataset = tf.data.Dataset.from_tensor_slices((x))train_dataset = train_dataset.repeat()train_dataset = train_dataset.map(mfcc_fn)train_dataset = train_dataset.batch(100)train_dataset = train_dataset.prefetch(buffer_size=1)# create an iterator and iterate over training datasetiterator = tf.data.Iterator.from_structure(train_dataset.output_types, train_dataset.output_shapes)train_iterator = iterator.make_initializer(train_dataset)with tf.Session() as sess:    sess.run(train_iterator, feed_dict={x: filename})基本上,代碼創建了一個tf.data.dataset加載 wav 文件并將其轉換為 mfcc 功能的對象。在這里,數據轉換發生在train_dataset.map(mfcc_fn)我將用 NumPy 編寫的 mfcc 函數應用于所有輸入數據的地方。顯然,代碼在這里不起作用,因為 NumPy 不支持對tf.placeholder對象的操作。tf.data.dataset如果我必須在 NumPy 中編寫函數,是否可以映射要輸入的函數?我不使用 TensorFlow 的內置 MFCC 特征轉換的原因是因為 TensorFlow 中的 FFT 函數提供的輸出與其 NumPy 對應物明顯不同(如此處所示),而且我正在構建的模型容易產生使用 NumPy 生成的 MFCC 特征。
查看完整描述

1 回答

?
慕森卡

TA貢獻1806條經驗 獲得超8個贊

您可以使用該tf.py_func功能或tf.py_function (這是較新的版本)來實現。它完全符合您的要求,它將包裝您的 numpy 函數,該函數在 tensorflow 操作中對數組進行操作,您可以將其作為數據集圖的一部分。


查看完整回答
反對 回復 2022-01-18
  • 1 回答
  • 0 關注
  • 304 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號