Вопрос:

Почему результат в матрице после softmax равен 0 или 1, а не в (0, 1)

python tensorflow deep-learning

50 просмотра

1 ответ

50 Репутация автора

Я попытался использовать tenorflow для создания Inception-v3 CNN для классификации аудио, но это не сработало, я обнаружил, что элементы в матрице результатов после 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.]]

извините, забыл опубликовать мой код. Я разделил аудио на кадры, каждый кадр 960 мс

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 x 97, которая является моим входом для CNN. Начальная модель, на которую я ссылался с https://github.com/tensorflow/models

# 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)
Автор: Fewfy Источник Размещён: 03.01.2018 07:52

Ответы (1)


0 плюса

71 Репутация автора

Потому что ваша модель «уверенность» для классификации. Эта причина может возникать по разным причинам, например 1. Ваша функция активации не подходит 2. Инициализация весов или смещение слишком велики 3. Скорость обучения слишком высока 4. Возможно, вам понадобится меньше NN для модели ,

Автор: hdD Размещён: 03.01.2018 08:52
Вопросы из категории :
32x32