У меня есть функция, которая делает почти то, что вы хотите, если вы сделаете несколько изменений, она будет точно соответствовать:
<?php
function stripByWords($string,$length,$delimiter = '<br>') {
$words_array = explode(" ",$string);
$strlen = 0;
$return = '';
foreach($words_array as $word) {
$strlen += mb_strlen($word,'utf8');
$return .= $word." ";
if($strlen >= $length) {
$strlen = 0;
$return .= $delimiter;
}
}
return $return;
}
?>
Если используется sparse_categorical_crossentropy, то значение y должно быть представлено как целое число, следовательно, наблюдается ожидаемая форма ошибки (1,). Предоставление y в форме с горячим кодированием - это когда функция потерь равна category_crossentropy.
Эта ссылка имеет хорошую иллюстрацию. https://jovianlin.io/cat-crossentropy-vs-sparse-cat-crossentropy/
Итак, исправление -
model.compile(optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'])
Кроме того, np. expand_dims или y_train [nx] [None] могут использоваться для создания размерности пакета.
model.fit (x = img, y = np.expand_dims (y_train [nx], 0), подробный = 2)