COM / OLE / ActiveX / беспорядок IDispatch

Если вы хотите сделать мультиклассовую классификацию, вам нужно сделать one-hot encoding для ваших векторов меток. Благодаря вашему выводу y.values я предполагаю, что ваш y выглядит следующим образом [1,2,3,2...]. Однако Tensorflows KerasClassifier заботится об этом, что можно увидеть в исходном коде. (source) Таким образом, ваша метка будет превращена во что-то подобное [[0],[1],[2],[1],...]. На следующем шаге эти метки будут закодированы one-hot, что также можно увидеть в исходном коде. (source) Теперь ваша метка выглядит следующим образом [[1,0,0],[0,1,0],[0,0,1],[0,1,0]].

Так что, насколько я понимаю, все должно работать нормально, если вы используете только 3 класса в выходном слое вместо 4.

Так что проверьте еще раз ваши данные метки y, например, с np.unique(y.values). Я предполагаю, что вы случайно создали вектор метки, содержащий [0,1,2,3].

7
задан Ofek Shilon 4 May 2009 в 15:36
поделиться

3 ответа

Найдены некоторые цитаты из COM-программирования на примере :

Еще одна вещь, с которой вы быстро найдете COM - это то, что у маркетинга была экскурсия день с терминологией. Скорее тогда помогая продвигать понимание, вы найдете в большинстве случаев это способствует тайна. ... OLE, ActiveX, Remotable Объекты - что означает, что это неделя? ...

COM развился из решения конкретная проблема - как разрешить слово процессор для редактирования электронной таблицы в письмо без выхода пользователя текстовый процессор, чтобы сделать это. это Решение было названо OLE. ... Тем не мение, со вторым выпуском OLE (OLE2), его создатели изменили OLE32.DLL на раскрыть больше основной функциональности OLE, чтобы его API можно было использовать разрешить любому приложению доступ к функциональность другая. Это API, который не сильно изменился с 1993 года, это то, что считается COM API. ...

Как только COM API был открыт, Microsoft использовала его для создания того, что было затем вызвал элементы управления OLE, чтобы сложные элементы управления (например, кнопки эта спираль, списки, которые играют музыка) написана на Visual C ++, чтобы быть доступны для Visual Basic Приложения. В конце концов это то же самое технология была использована для контроля быть загруженным и используемым вашей сетью браузер. На данный момент имя изменено на элементы управления ActiveX или просто обычный ActiveX исключительно для маркетинга причины. Хотя вы можете упаковать любой функциональность в элементе управления ActiveX, его требования были специализируется на поддержке пользователя управление интерфейсом.

Мне все еще любопытно последнее предложение - должен ли COM-объект удовлетворять некоторым дополнительным требованиям, чтобы считаться элементом управления ActiveX? - но этого достаточно, чтобы отпустить.

Спасибо за ваши ответы!

8
ответ дан 6 December 2019 в 19:41
поделиться

ActiveX предназначен для COM, хотя ActiveX обычно используется в контексте «элементов управления ActiveX», которые являются объектами GUI.

IDispatch - это интерфейс, реализуемый объектами COM, так что клиент программы могут вызывать свои методы динамически во время выполнения (позднее связывание), в отличие от во время компиляции, когда все методы и типы аргументов должны быть известны заранее.

OLE - более ранняя версия COM.

4
ответ дан 6 December 2019 в 19:41
поделиться

Относительно OLE: COM имеет корни в OLE. Но сегодня OLE может считаться построенным поверх COM и в основном используется для того, что предполагает его название - связывание и встраивание документов. Хотя сам COM определяет только пару интерфейсов (IUnknown, IClassFactory, IMalloc и т. Д.), OLE добавляет целый ряд дополнительных интерфейсов, таких как IMoniker, IOleItemComtainer и т. Д.

Подводя итог: COM является основой, ActiveX и OLE являются слои поверх COM.

1
ответ дан 6 December 2019 в 19:41
поделиться