JavaScript для глубокого обучения 2021 TensorFlow js Ббк



Download 30,75 Mb.
Pdf ko'rish
bet166/457
Sana27.03.2022
Hajmi30,75 Mb.
#513488
1   ...   162   163   164   165   166   167   168   169   ...   457
Bog'liq
Цэй Ш., Байлесчи С., и др. - JаvaScript для глубокого обучения (Библиотека программиста) - 2021

Листинг 5.1.
«Блокировка» нескольких первых слоев сверточной сети для переноса обучения
Впрочем, недостаточно изменить одно свойство 
trainable
слоя: если просто по­
менять его значение и сразу вызвать метод 
fit()
модели, веса соответствующих сло­
ев все равно будут обновляться во время вызова 
fit()
. Необходимо перед вызовом 
Model.fit()
вызвать метод 
Model.compile()
, чтобы изменения свойства 
trainable
вступили в силу, как это сделано в листинге 5.1. Мы уже упоминали, что вызов 
compile()
задает настройки оптимизатора, функцию потерь и метрики. Однако этот 
метод также позволяет модели актуализировать список обновляемых во время этих 
вызовов весовых переменных. После вызова 
compile()
мы снова выводим сводку 
топологии модели с помощью 
summary()
. Как видно при сравнении старой тополо­
гии с рис. 5.2 с новой, часть весовых коэффициентов модели стали необучаемыми:
Total params: 600165
Trainable params: 590597
Non-trainable params: 
9568
Можете сами убедиться, что число необучаемых параметров, 9568, равно сумме 
количества весовых коэффициентов в единственных двух заблокированных слоях 
с весами (двух слоях conv2d). Обратите внимание, что некоторые из заблокиро­
ванных нами слоев не содержат весовых коэффициентов (например, maxPooling2d 
и слой схлопывания), а потому не вносят никакого вклада в число необучаемых 
параметров при блокировании.
Сам код переноса обучения приведен в листинге 5.2. В нем используется тот же 
метод 
fit()
, что и при обучении моделей с нуля. В этом вызове для оценки безоши­
бочности модели на еще не виденных ею данных применяется поле 
validationData



Глава 5. Перенос обучения: переиспользование предобученных нейронных сетей
193
Кроме того, мы подключаем к вызову 
fit()
две функции обратного вызова, одну для 
обновления индикатора хода выполнения в UI, а вторую — для построения графиков 
кривых потерь и безошибочности с помощью модуля tfjs­vis (больше подробностей 
вы найдете в главе 7). Это демонстрирует еще не упоминавшийся нами аспект API 
fit()
: в вызов 
fit()
можно передать функцию обратного вызова или даже массив 
из нескольких функций обратного вызова. Во втором случае во время обучения вы­
зываются все функции обратного вызова (в порядке, указанном в массиве).

Download 30,75 Mb.

Do'stlaringiz bilan baham:
1   ...   162   163   164   165   166   167   168   169   ...   457




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish