Анализ настроений в json [duplicate]

Исполнительное резюме:

int a[17];
size_t n = sizeof(a)/sizeof(a[0]);

Чтобы определить размер вашего массива в байтах, вы можете использовать оператор sizeof:

int a[17];
size_t n = sizeof(a);

На моем компьютере, ints имеют длину 4 байта, поэтому n равно 68.

Чтобы определить количество элементов в массиве, мы можем разделить общий размер массива на размер элемента массива. Вы можете сделать это с типом, например:

int a[17];
size_t n = sizeof(a) / sizeof(int);

и получить правильный ответ (68/4 = 17), но если тип a изменился, у вас будет неприятная ошибка, если вы также забыли изменить sizeof(int).

Таким образом, предпочтительным делителем является sizeof(a[0]), размер элемента zeroeth массива.

int a[17];
size_t n = sizeof(a) / sizeof(a[0]);

Еще одно преимущество что теперь вы можете легко параметризовать имя массива в макросе и получить:

#define NELEMS(x)  (sizeof(x) / sizeof((x)[0]))

int a[17];
size_t n = NELEMS(a);
0
задан Amy 7 February 2018 в 19:34
поделиться

1 ответ

Вы подаете список строк в модель, чего она не ожидает. Вы можете использовать модуль keras.preprocessing.text для преобразования текста в целую последовательность. Более конкретно, вы можете подготовить такие данные, как:

from keras.preprocessing.text import Tokenizer
from keras.preprocessing.sequence import pad_sequences
tk = Tokenizer()
tk.fit_on_texts(texts)
index_list = tk.texts_to_sequences(texts)
x_train = pad_sequences(index_list, maxlen=maxlen)

Теперь x_train (a n_samples * maxlen ndarray типа np.int) является законным входом для модели.

0
ответ дан Drew Szurko 16 August 2018 в 11:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: