我正在尝试使用InvokeEndpointRequest对象在C%中的SageMaker端点上进行一些推断。我的推断主体是PNG或JPEG图像。但是,SageMaker需要应用程序/ x-recordio-protobuf格式。如何将我的图像文件转换成这种格式,以便能够对上述对象使用InvokeEndpoint。
InvokeEndpointRequest invokeRequest = new InvokeEndpointRequest
{
EndpointName = "kmeans-2019-xx-xx-xx-xx-xx-xxx",
Body= GetImageFromFile(),
ContentType= "application/x-recordio-protobuf"
};
InvokeEndpointResponse invokeResponse = smClient.InvokeEndpoint(invokeRequest);
目前,GetImageFromFile方法仅读取图像文件并在MemoryStream中对其进行转换:
Stream stream = openFileDialog.OpenFile();
byte[] data = new byte[stream.Length];
stream.Read(data, 0, (int)stream.Length);
MemoryStream ms=new MemoryStream(data);
return ms;
我尝试使用Protobuf-net序列化MemoryStream,但是它不起作用。