Вы можете использовать что-то вроде Keras-Vis Library
В основном вы пытаетесь найти вход , который максимизирует определенный класс , это приводит к некоторой одномерной последовательности (в вашем случае последовательность из 300 векторов из 9 элементов).
Затем вы можете построить каждый из 9 каналов отдельно или друг над другом, чтобы понять, как эта штука выглядит. Затем вам нужно обладать знанием предметной области, чтобы попытаться понять, что это значит (если это что-то значит). Это полезно, если вы хотите понять, как выглядят входные данные из определенного класса .
Вы можете сделать то же самое с картами активации ( карты значимости ) (которые вы можете вычислять, используя ту же библиотеку, связанную). Это полезно, если вы хотите понять, где (в пространстве) находится информация .
Теперь, не зная природу, область или контекст ваших данных, трудно сказать что-либо еще ...
Редактировать :
Хорошо, теперь я понимаю вашу проблему. Возможно, стоит попытаться трактовать эту проблему как множественное изучение экземпляров
Вы также можете попробовать использовать LSTM с [ 1119] Механизм внимания .
Исключениями являются вещи во время выполнения, переменные являются вещами времени компиляции.
На самом деле переменная в Вашем примере является выражением. Выражения являются не всегда простыми переменными. Во времени выполнения будет оценено выражение, и метод назовут на полученном объекте. Если значение того выражения null
, время выполнения бросит a NullReferenceException
. Примите следующее:
Dim a as New MyObject
Dim b as String = MyObject.GetNullValue().ToString()
Какое сообщение об ошибке должно возврат во время выполнения если GetNullValue()
возвраты метода null
?
Для языков как Java, которые компилируются в байт-код, который интерпретируется VM, предположите, что у Вас есть класс X
с полем x
, и его значение null
для определенной ссылки. Если Вы пишете
x.foo()
байт-код мог бы быть похожим на это:
push Xref >> top of stack is ref to instance of X with X.x = null
getField x >> pops Xref, pushes 'null' on the stack
invokeMethod foo >> pops 'null' -> runtime exception
Дело в том, что операция, для которой нужна ненулевая ссылка на стеке для работы на него, как invokeMethod в примере, не может и не знать, куда та нулевая ссылка прибыла из.
Простой способ поймать это для отладки к поместить Оператор контроля до использования объекта, проверьте на пустой указатель и произведите значимое сообщение.
В сборках конечных версий имена переменной разделяются из символов, и код мог бы даже быть оптимизирован, чтобы не иметь определенную ячейку памяти для переменной, но просто сохранить ссылку в одном из регистров (в зависимости от объема переменного использования). Таким образом не могло бы быть возможно вычесть название переменной от ссылочного местоположения.
В отладочной сборке существует больше информации, доступной о переменных. Однако объект исключения должен работать тот же путь независимо от разновидность сборки. Следовательно, это реагирует на минимальную информацию, к которой это может получить доступ в любой разновидности.
Несколько вещей...
1) когда Вы заставляете свои собственные исключения иметь это в виду (если Вы будете раздражаться это это для этого, то кто-то еще будет раздражаться в Вас, если Вы сделаете это для чего-то еще). Учитывая, что путь исключения нисколько не должен быть типичным путем, потраченное то, чтобы заставлять времени исключение иметь полезную информацию определенно стоит того.
2) как общее программирование practive принимают этот стиль, и у Вас будет намного меньше проблем (да, Ваш код будет длиннее с точки зрения строк, но Вы сэкономите много времени):
a) никогда не делайте a.b ().c (); сделайте x = a.b (); x.c (); (на отдельных строках) тот способ, которым Вы видите, был пустым или если возврат a.b () является пустым.
b) никогда не передавайте возврат вызова метода в качестве параметра - всегда передают переменные. (нечто ()); должен быть x = нечто (); (x); Этот больше для отладки и способности видеть значение.
Я не знаю, почему среды как .NET и Java не обеспечивают версию времени выполнения, которое действительно имеет больше информации об этих видах исключений, такой как, что индекс был на массиве за пределы, названии переменной, когда это является пустым и т.д...