.NET 环境下运行tensorflow

  最近项目想用tensorflow来进行照片识别的训练,在线学些了一些基础的视频和教程,今天想将训练结果应用到最近的项目中,今天忙里偷闲想做一下验证。

  首先根据网上的大神们的要求,装了一个VS2017、.netframework4.7,然后就开始根据写一个小程序。这个时候引用tensorflowsharp出问题了。然后就开始各种百度。。。。。。。显示下了一个离线包,结果弄半天安装不上,

后来干脆直接在vs中Install-Package TensorFlowSharp 

  虽然tensorflowsharp安装上了,但是缺少一个libtensorflow.dll的引用。。。。然后有各种开始找,发现在自己下的tensorflowsharp的离线包中的 runtimes文件夹中存在...最终手动的扔到bin目录下成功

    static void Main(string[] args)
        {
            using (var session = new TFSession())
            {
                var graph = session.Graph;
                Console.WriteLine(TFCore.Version);
                var a = graph.Const(2);
                var b = graph.Const(3);
                Console.WriteLine("a=2 b=3");

                // 两常量加
                var addingResults = session.GetRunner().Run(graph.Add(a, b));
                var addingResultValue = addingResults.GetValue();
                Console.WriteLine("a+b={0}", addingResultValue);

                // 两常量乘
                var multiplyResults = session.GetRunner().Run(graph.Mul(a, b));
                var multiplyResultValue = multiplyResults.GetValue();
                Console.WriteLine("a*b={0}", multiplyResultValue);
                var tft = new TFTensor(Encoding.UTF8.GetBytes($"Hello TensorFlow Version {TFCore.Version}! LineZero"));
                var hello = graph.Const(tft);
                var helloResults = session.GetRunner().Run(hello);
                Console.WriteLine(Encoding.UTF8.GetString((byte[])helloResults.GetValue()));
            }
            Console.ReadKey();
        }

posted @ 2018-03-23 11:15  hobby0524  阅读(299)  评论(0编辑  收藏  举报