Вычислить градиент обученной сети

#numpy #neural-network #gradient #autograd

#numpy #нейронная сеть #градиент #автоград

Вопрос:

предположим, у меня есть обученная модель, я пытаюсь вычислить ее якобинскую (пытаясь понять некоторые ее математические свойства после обучения). Я пытаюсь использовать autograd следующим образом:

 from autograd import jacobian
jacobian_pred=jacobian(model.predict)
jacobian_pred(x)
  

где x — из моего обучающего набора. Это вызывает ошибку:

 TypeError: object of type 'numpy.float32' has no len()
  

Что мне делать?

Спасибо!

Комментарии:

1. добавьте простой воспроизводимый пример здесь или в Colab, конкретно показывающий тип и состав model

2. Входными данными для модели являются np.ndarray размером 7X151X2 (все значения с плавающей запятой), выходными данными являются np.ndarray размером 6 с плавающей запятой. На первом уровне входные данные получают zero_padding размером 21X191X2. Модель включает примерно 45 слоев — некоторые плотные и некоторые свертки, и включает в себя несколько различных функций активации. В целом, он включает в себя более 27 миллионов обучаемых параметров. Есть дополнительная информация?