TensorflowCatalog Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Используется TensorFlowTransformer в следующих двух сценариях.
- Оценка с предварительно обученной моделью TensorFlow . В этом режиме преобразование извлекает значения скрытых слоев из предварительно обученной модели Tensorflow и использует выходные данные в качестве признаков в конвейере ML.Net.
- Переобучение модели TensorFlow . В этом режиме преобразование переобучение модели TensorFlow с помощью пользовательских данных, передаваемых через конвейер ML.Net. После обучения модели выходные данные можно использовать в качестве функций для оценки.
public static class TensorflowCatalog
type TensorflowCatalog = class
Public Module TensorflowCatalog
- Наследование
-
TensorflowCatalog
Комментарии
TensorFlowTransform извлекает указанные выходные данные с помощью предварительно обученной модели Tensorflow . При необходимости он может дополнительно переобучить модель TensorFlow для пользовательских данных для настройки параметров модели для пользовательских данных (также известного как Transfer Learning).
Для оценки преобразование принимает в качестве входных данных предварительно обученную модель Tensorflow, имена входных узлов и имена выходных узлов, значения которых требуется извлечь. Для повторного обучения преобразованию также требуются связанные с обучением параметры, такие как имена операций оптимизации в графе TensorFlow, имя операции скорости обучения в графе и его значение, имя операций в графе для вычисления потери и метрики производительности и т. д.
Для этого преобразования требуется установить nuget Microsoft.ML.TensorFlow . TensorFlowTransform имеет следующие предположения относительно входных, выходных данных, обработки данных и переобучения.
- Для входной модели в настоящее время TensorFlowTransform поддерживает как формат замороженных моделей , так и формат SavedModel . Однако повторное обучение модели возможно только для формата SavedModel . Формат контрольных точек в настоящее время не поддерживается ни для оценки, ни для повторного обучения из-за отсутствия поддержки TensorFlow C-API для загрузки.
- Преобразование поддерживает оценку только одного примера за раз. Однако повторное обучение может выполняться в пакетах.
- Сценарии расширенной передачи обучения и тонкой настройки (например, добавление дополнительных слоев в сеть, изменение формы входных данных, замораживание слоев, которые не нужно обновлять во время повторного обучения и т. д.), в настоящее время невозможно из-за отсутствия поддержки операций с сетью или графом в модели с помощью TensorFlow C-API.
- Имя входных столбцов должно совпадать с именем входных данных в модели TensorFlow.
- Имя каждого выходного столбца должно соответствовать одной из операций в графе TensorFlow.
- В настоящее время double, float, long, int, short, sbyte, ulong, uint, ushort, byte и bool являются допустимыми типами данных для ввода и вывода.
- После успешного выполнения преобразование вводит новый столбец в IDataView соответствии с каждым указанным выходным столбцом.
Входные и выходные данные модели TensorFlow можно получить с помощью GetModelSchema() средств или summarize_graph .
Методы
LoadTensorFlowModel(ModelOperationsCatalog, String, Boolean) |
Загрузите модель TensorFlow в память. Это удобный метод, позволяющий загрузить модель один раз и впоследствии использовать ее для запроса схемы и создания TensorFlowEstimator использования ScoreTensorFlowModel(String, String, Boolean). Для использования этого API требуются дополнительные зависимости NuGet от redist TensorFlow. Дополнительные сведения см. в связанном документе. TensorFlowModel также содержит ссылки на неуправляемые ресурсы, которые необходимо освободить с помощью явного вызова Dispose() или неявно путем объявления переменной с синтаксисом using/> |
LoadTensorFlowModel(ModelOperationsCatalog, String) |
Загрузите модель TensorFlow в память. Это удобный метод, позволяющий загрузить модель один раз и впоследствии использовать ее для запроса схемы и создания TensorFlowEstimator использования ScoreTensorFlowModel(String, String, Boolean). Для использования этого API требуются дополнительные зависимости NuGet от redist TensorFlow. Дополнительные сведения см. в связанном документе. TensorFlowModel также содержит ссылки на неуправляемые ресурсы, которые необходимо освободить с помощью явного вызова Dispose() или неявно путем объявления переменной с синтаксисом using/> |