首页 > 解决方案 > System.NotImplementedException:“convert_to_eager_tensor System.Decimal”

问题描述

我正在使用 C# 的 TF wrap 构建我的第一个模型,我想将图像直接从相机加载到我的模型中。

首先我尝试通过,System.Drawing.Bitmap但找不到任何方法将其转换为张量。

然后我尝试将图像保存到磁盘然后读取它,但我得到:

System.NotImplementedException: "convert_to_eager_tensor System.Decimal"

我用于加载的代码:

private Tensor ReadTensorFromImage(String img_path)
{
    Tensor raw_image = tf.image.decode_image( tf.io.read_file(img_path),0, TF_DataType.TF_INT32 );
    return tf.image.resize_image_with_crop_or_pad(raw_image, img_dim[0], img_dim[1]);
}

public String GetAnswer(String img_path)
{
    return model.predict(ReadTensorFromImage(img_path)).ToString(); 
}

我的模型:

model = keras.Sequential(new List<ILayer>
{
    layers.Rescaling(1.0f / 255, input_shape: (180, 180, 3)),
        layers.Conv2D(16, 3, padding: "same", activation: keras.activations.Relu),
            layers.MaxPooling2D(),
            layers.Flatten(),
            layers.Dense(128, activation: keras.activations.Relu),
                layers.Dense(num_classes)
});

问题是:在 C# 中对过去图像进行建模的最佳方法是什么。

标签: c#tensorflow

解决方案


推荐阅读