为什么softmax之后矩阵中的结果是0或1不在(0,1)中

2024-03-28 18:11:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用tensorflow构建Inception-v3cnn来做音频分类,但是没有用,我发现softmax之后的结果矩阵中的元素只有0或1,没有其他的重用。 像这样

[[ 0.  0.  0.  0.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.
   0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.
   0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.]]

对不起,忘了发代码了。 我把音频分为帧,每帧960ms

n_fft = int(window_length * sr) # window_length is 25ms, sr is the 
sample rate
hop_length = int(hop * sr) # hop is 10ms
feature = librosa.feature.mfcc(y=signal, sr=sr, n_mfcc=64, hop_length=hop_length, n_fft=n_fft)

这个代码将返回一个64×97的矩阵,这是我对CNN的输入。 我在https://github.com/tensorflow/models中引用了inception模型

# some parameters
leraning_rate = 3e-15
batch_size = 12
activation_fn = tf.nn.relu
trunc_normal = lambda stddev: tf.truncated_normal_initializer(0.0, stddev)
weights_initializer=trunc_normal(0.1)

Tags: 代码fftrateistensorflow矩阵音频window
1条回答
网友
1楼 · 发布于 2024-03-28 18:11:21

因为你的模型对分类很有信心。有很多原因会导致这种情况发生,比如 1你的激活功能不合适 2权重或偏差的初始化太大 三。学习速度太快了 4模型可能需要较少的NN。你知道吗

相关问题 更多 >