Memahami nilai-nilai summary () (Output Shape, Param #)?

Nov 15 2020

Saya memeriksa output summaryfungsi dan tidak memahami semua nilai yang dicetak.

Misalnya, lihat kode sederhana ini:

x = [1, 2, 3, 4, 5]
y = [1.2, 1.8, 3.5, 3.7, 5.3]
model = Sequential()
model.add(Dense(10, input_dim=1, activation='relu'))
model.add(Dense(30, input_dim=1, activation='relu'))
model.add(Dense(10, input_dim=1, activation='relu'))
model.add(Dense(1))
model.summary()

Hasil:

Model: "sequential"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
dense (Dense)                (None, 10)                20        
_________________________________________________________________
dense_1 (Dense)              (None, 30)                330       
_________________________________________________________________
dense_2 (Dense)              (None, 10)                310       
_________________________________________________________________
dense_3 (Dense)              (None, 1)                 11        
=================================================================
Total params: 671
Trainable params: 671
Non-trainable params: 0
_________________________________________________________________
  1. Mengapa arti nilai None, di bawah kolom Output Shape? apa yang dimaksud dengan None di sini?
  2. Jaringan mana yang tidak akan menampilkan Tidak ada dalam ringkasan?
  3. Mengapa arti Params #kolom tersebut? Bagaimana nilai ini dihitung?

Jawaban

1 Tasnuva Nov 15 2020 at 13:11
  1. None hanyalah placeholder yang mengatakan bahwa jaringan dapat memasukkan lebih dari satu sampel pada saat itu. Tidak ada berarti dimensi ini variabel. Dimensi pertama dalam model keras selalu merupakan ukuran tumpukan. ... Itulah mengapa dimensi ini sering diabaikan saat Anda menentukan model. Misalnya, saat Anda mendefinisikan input_shape = (100,200), sebenarnya Anda mengabaikan ukuran tumpukan dan mendefinisikan bentuk "setiap sampel".

  2. Nonetidak akan ditampilkan Jika Anda menyetel kelompok tetap. Sebagai contoh, jika Anda akan mengirim 10 gambar, bentuk Anda akan menjadi (10, 64, 64, 3) dan jika Anda mengubahnya menjadi 25, Anda akan memiliki (25, 64, 64, 3)

  3. Untuk lapisan dense_1st , jumlah params adalah 20. Ini diperoleh sebagai: 10 (nilai masukan) + 10 (nilai bias)

    Untuk lapisan dense_2 , jumlah params adalah 330. Ini diperoleh sebagai: 10 (nilai input) * 30 (neuron di lapisan kedua) + 30 (nilai bias untuk neuron di lapisan kedua)

    Untuk lapisan dense_3 , jumlah params adalah 310. Ini diperoleh sebagai: 30 (nilai input) * 10 (neuron di lapisan ketiga) + 10 (nilai bias untuk neuron di lapisan ketiga)

    Untuk lapisan terakhir , jumlah params adalah 11. Ini diperoleh sebagai: 10 (nilai input) * 1 (neuron di lapisan kedua) + 1 (nilai bias untuk neuron di lapisan akhir)

    total parameter = 20 + 330 + 310 + 11 = 671