本文整理汇总了Python中vggish_slim.load_vggish_slim_checkpoint方法的典型用法代码示例。如果您正苦于以下问题:Python vggish_slim.load_vggish_slim_checkpoint方法的具体用法?Python vggish_slim.load_vggish_slim_checkpoint怎么用?Python vggish_slim.load_vggish_slim_checkpoint使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vggish_slim
的用法示例。
在下文中一共展示了vggish_slim.load_vggish_slim_checkpoint方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: extract_vggish_features
# 需要导入模块: import vggish_slim [as 别名]
# 或者: from vggish_slim import load_vggish_slim_checkpoint [as 别名]
def extract_vggish_features(paths, path2gt, model):
"""Extracts VGGish features and their corresponding ground_truth and identifiers (the path).
VGGish features are extracted from non-overlapping audio patches of 0.96 seconds,
where each audio patch covers 64 mel bands and 96 frames of 10 ms each.
We repeat ground_truth and identifiers to fit the number of extracted VGGish features.
"""
# 1) Extract log-mel spectrograms
first_audio = True
for p in paths:
if first_audio:
input_data = vggish_input.wavfile_to_examples(config['audio_folder'] + p)
ground_truth = np.repeat(path2gt[p], input_data.shape[0], axis=0)
identifiers = np.repeat(p, input_data.shape[0], axis=0)
first_audio = False
else:
tmp_in = vggish_input.wavfile_to_examples(config['audio_folder'] + p)
input_data = np.concatenate((input_data, tmp_in), axis=0)
tmp_gt = np.repeat(path2gt[p], tmp_in.shape[0], axis=0)
ground_truth = np.concatenate((ground_truth, tmp_gt), axis=0)
tmp_id = np.repeat(p, tmp_in.shape[0], axis=0)
identifiers = np.concatenate((identifiers, tmp_id), axis=0)
# 2) Load Tensorflow model to extract VGGish features
with tf.Graph().as_default(), tf.Session() as sess:
vggish_slim.define_vggish_slim(training=False)
vggish_slim.load_vggish_slim_checkpoint(sess, 'vggish_model.ckpt')
features_tensor = sess.graph.get_tensor_by_name(vggish_params.INPUT_TENSOR_NAME)
embedding_tensor = sess.graph.get_tensor_by_name(vggish_params.OUTPUT_TENSOR_NAME)
extracted_feat = sess.run([embedding_tensor], feed_dict={features_tensor: input_data})
feature = np.squeeze(np.asarray(extracted_feat))
return [feature, ground_truth, identifiers]
示例2: extract_audioset_embedding
# 需要导入模块: import vggish_slim [as 别名]
# 或者: from vggish_slim import load_vggish_slim_checkpoint [as 别名]
def extract_audioset_embedding():
"""Extract log mel spectrogram features.
"""
# Arguments & parameters
mel_bins = vggish_params.NUM_BANDS
sample_rate = vggish_params.SAMPLE_RATE
input_len = vggish_params.NUM_FRAMES
embedding_size = vggish_params.EMBEDDING_SIZE
'''You may modify the EXAMPLE_HOP_SECONDS in vggish_params.py to change the
hop size. '''
# Paths
audio_path = 'appendixes/01.wav'
checkpoint_path = os.path.join('vggish_model.ckpt')
pcm_params_path = os.path.join('vggish_pca_params.npz')
if not os.path.isfile(checkpoint_path):
raise Exception('Please download vggish_model.ckpt from '
'https://storage.googleapis.com/audioset/vggish_model.ckpt '
'and put it in the root of this codebase. ')
if not os.path.isfile(pcm_params_path):
raise Exception('Please download pcm_params_path from '
'https://storage.googleapis.com/audioset/vggish_pca_params.npz '
'and put it in the root of this codebase. ')
# Load model
sess = tf.Session()
vggish_slim.define_vggish_slim(training=False)
vggish_slim.load_vggish_slim_checkpoint(sess, checkpoint_path)
features_tensor = sess.graph.get_tensor_by_name(vggish_params.INPUT_TENSOR_NAME)
embedding_tensor = sess.graph.get_tensor_by_name(vggish_params.OUTPUT_TENSOR_NAME)
pproc = vggish_postprocess.Postprocessor(pcm_params_path)
# Read audio
(audio, _) = read_audio(audio_path, target_fs=sample_rate)
# Extract log mel feature
logmel = vggish_input.waveform_to_examples(audio, sample_rate)
# Extract embedding feature
[embedding_batch] = sess.run([embedding_tensor], feed_dict={features_tensor: logmel})
# PCA
postprocessed_batch = pproc.postprocess(embedding_batch)
print('Audio length: {}'.format(len(audio)))
print('Log mel shape: {}'.format(logmel.shape))
print('Embedding feature shape: {}'.format(postprocessed_batch.shape))