Используйте вместо этого layers
свойство m
, а чтобы проверить, принадлежит ли значение заданному типу, используйте isa
. Таким образом, это должно работать:
for layer in m.layers
if layer isa Dense
# do something with dense layer
else
# do something else
end
end
EDIT: действительно m
поддерживает итерацию и индексирование, о которых я не знал, поэтому, как предположил @darsnack, этого достаточно:
for layer in m
if layer isa Dense
# do something with dense layer
else
# do something else
end
end
Теперь, чтобы прояснить проверку типа:
- если у вас есть значение, и вы хотите проверить, является ли его тип подтипом данного типа, используйте
isa
, как указано выше - если у вас есть два типа, которые вы хотите сравнить для определения подтипов, используйте
<:
, чтобы вы могли написать typeof(layer) <: Dense
; для типов ==
проверки не рекомендуются, см. это предупреждение в руководстве Julia
Вы можете проверить этот раздел руководства Julia, чтобы прочитать подробнее