1

関数 fann_run() から float 配列を取得する方法

これはその C バージョンです。

fann_type *calc_out;
fann_type input[2];
struct fann *ann = fann_create_from_file("xor_float.net");
input[0] = -1;
input[1] = 1;
calc_out = fann_run(ann, input);
printf("xor test (%f,%f) -> %f\n", input[0], input[1], calc_out[0]);
fann_destroy(ann);

私はC#でこれをしようとしています

[DllImport("fannfloat.dll", EntryPoint = "fann_run")]
public static extern IntPtr fann_run(IntPtr _ann, float[] _input);

IntPtr ann = FANN.fann_create_from_file("Arial.net");
IntPtr result = FANN.fann_run(ann,input600);

ここで、「結果」を使用してフロートにアクセスしたいと思います。これどうやってするの ?

4

1 に答える 1

2

要素の数がわかっている場合は、 Marshal.Copy メソッドを使用して、値をアンマネージド メモリからマネージド配列にコピーできます。

float[] output = new float[7];
Marshal.Copy(result, output, 0, output.Length);

完了したら解放することを忘れないでくださいresult

于 2013-02-02T17:30:36.033 に答える