keras.utils.to_categorical
вызывает это исключение, когда данные метки содержат больше классов, чем указано в num_classes
(в вашем случае classifications
вы передаете).
Вы можете проверить с помощью
print(np.unique(Y)) # or y_test / y_train
, действительно ли у вас есть 6 уникальных меток классов и есть ли «пробелы». Возможно, вам нужно очистить ярлыки, которые вы читаете из текста, прежде чем двигаться дальше.
Относительно вашего второго вопроса:
Кроме того, когда я выполняю модель, это очень медленное обучение, как я могу это исправить?
blockquote>Вам нужно будет более конкретно о том, что медленный означает для вас, например, медленнее, чем другая модель? Медленнее, чем в другой системе?
Вы можете попробовать «проводник сервера» из Visual Studio, но sqlserver необходимо настроить, чтобы разрешить отладку. Вот некоторая информация: http://www.4guysfromrolla.com/articles/051607-1.aspx . Но я думаю, что сначала вам следует попробовать Profiler, как говорит Eppz. :)
Если вы не можете выполнить код, вот два способа:
# 1 объединить строку и вставить в файл журнала.
Объявите переменную, например:
DECLARE @Loginfo varchar(7500)
добавляйте в него отладочную информацию по мере прохождения кода:
SET @LogInfo=ISNULL(@LogInfo)+'#01> @x='+COALESCE(CONVERT(varchar(10),@x),'NULL')
..
SET @LogInfo=ISNULL(@LogInfo)+'#02>'
..
SET @LogInfo=ISNULL(@LogInfo)+'#03> top loop'
во всех точках выхода (после любых откатов) добавьте:
INSERT INTO YourLogTable VALUES (..., @ LogInfo)
в зависимости от транзакции использование и, в частности, ошибка, вы можете просто вставить много раз, не опасаясь отката, поэтому вам нужно будет изменить это в соответствии с вашей ситуацией.
# 2 записать в текстовый файл на сервере sq
this не может быть вариантом, потому что он использует очень небезопасную хранимую процедуру xp_cmdshell. Однако, если вы можете это использовать и если транзакции из вызывающего приложения вызывают проблему, попробуйте создать эту хранимую процедуру:
Обновление : я не уверен, есть ли способ подключиться к запущенной сохраненной процедуре. Вы можете использовать профилировщик, чтобы в реальном времени отслеживать выполняемые операторы (SP: StmtStarting). Также ознакомьтесь с Apex SQL Debug , который, кажется, имеет больше возможностей и доступен как надстройка для Management Studio.
Если у вас есть Visual Studio, отладить легко:
Debugging Stored Процедуры в Visual Studio 2005
Дополнительные ответы здесь: Какой метод отладки хранимых процедур MS SQL вам больше всего нравится?
Используйте SQL Profiler , чтобы увидеть, что происходит при вызове процедуры и какие параметры передаются.
I would use a combination of SQL Profiler and print statements inside of your SQL statement. Not sure of a way to step thru line by line but using profiler in combination with print and select statements (if using temp tables) to view their contents as the proc runs will quickly shed light on what's happening.