почему использование Myarray.size () возвращает ошибку: «объект int не вызывается», но Myarray.size в порядке? - PullRequest
0 голосов
/ 31 мая 2019

У меня странная проблема, когда я использую .size (), я получаю сообщение об ошибке, но с помощью .size все в порядке.посмотрите ниже:

a = np.zeros([5,5])
a.size # returns 25
a.size() # returns error : "int obj is not callable "
a.shape # returns (5,5)

Проблема в том, что мне нужно, чтобы .size () работал, потому что я определяю слой встраивания "emb_layer" в Pytorch и пытаюсь загрузить его состояние, используя матрицу с именем "weights_matrix".":

emb_layer.load_state_dict({'weight': weights_matrix})

и, похоже, .load_state_dict () использует .size () внутри!


~\Anaconda3\lib\site-packages\torch\nn\modules\module.py in _load_from_state_dict(self, state_dict, prefix, local_metadata, strict, missing_keys, unexpected_keys, error_msgs)
    709                                       'whose dimensions in the model are {} and '
    710                                       'whose dimensions in the checkpoint are {}.'
--> 711                                       .format(key, param.size(), input_param.size()))
    712             elif strict:
    713                 missing_keys.append(key)

TypeError: 'int' object is not callable

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

1 Ответ

1 голос
/ 31 мая 2019

ndarray.size является атрибутом , а не функцией. Вы не можете позвонить, потому что на самом деле это просто число:

ndarray.size

Количество элементов в массиве.

равно np.prod(a.shape), т. Е. Произведение размеров массива.

Примечания

a.size возвращает стандартное целое число Python произвольной точности. Это может не относиться к другим методам получения того же значения (например, к предлагаемому np.prod(a.shape), который возвращает экземпляр np.int_), и может иметь значение, если значение используется в дальнейшем при вычислениях, которые могут переполнить фиксированный размер целочисленный тип.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...