Tensorflow是一个人工智能框架。TensorflowSharp是对Tensorflow C语言版接口的封装,便于.net开发人员在项目中使用Tensorflow。
01 HelloWorld:TensorflowSharp入门。
02 UsePlaceholder:占位符的使用。
03 UseVariable:变量的使用。
04 InitVariable:变量的初始化。
05 UseMatrix:矩阵相加、数乘、矩阵相乘。
p06_LinearRegression:线性回归。
p07_MNIST:手写数字识别。
p08_UseTensor:张量的使用。
p09_GenerateData:产生序列、正态分布随机数和随机位置。
p10_CalculateGradient:计算倾斜度(偏导数)。
p11_ReduceMethod:ReduceMean、ReduceSum计算原理和方法。
p12_ClipMatrix:裁剪矩阵(限制矩阵的最小、最大值)。
p13_BitwiseOperation:按位与、按位或、按位异或运算。
p14_UseStack:使用堆栈。
p15_PartialRun:部分运行。
p16_ModelSave:保存模型。(未实现)
p17_TFCoreTest:TFCore测试。
p18_TFBufferTest:TFBuffer测试。
p19_TFDataTypeTest:TFDataType测试。
p20_ComparisonOperators:比较运算符。
p22_ConditionalOperators:条件运算符。
TensorflowSharp的用法还是很简单的
// 创建图
var g = new TFGraph();
// 定义常量
var a = g.Const(2);
var b = g.Const(3);
// 加法和乘法运算
var add = g.Add(a, b);
var mul = g.Mul(a, b);
// 创建会话
var sess = new TFSession(g);
// 计算加法
var result1 = sess.GetRunner().Run(add).GetValue();
Console.WriteLine("a+b={0}", result1);
// 计算乘法
var result2 = sess.GetRunner().Run(mul).GetValue();
Console.WriteLine("a*b={0}", result2);
// 关闭会话
sess.CloseSession();
执行后输出结果
a+b=5
a*b=6
-
国内目前无法访问Tensorflow官网,但是可以访问谷歌提供的Tensorflow官网镜像。
-
国内使用NuGet安装TensorflowSharp很容易失败,可以直接从Nuget官网下载,然后改后缀名zip,解压后手工安装。
-
TensorflowSharp项目使用的.net版本必须高于4.6.1,本教程使用的版本是4.7.0,可以在属性选项卡中设置。
-
TensorflowSharp项目必须使用64位CPU,需要在属性选项卡生成中,去掉首选32位的勾选。
-
本教程需要在根目录新建
Libs
文件夹,请将第二步解压出来的TensorFlowSharp.dll
放在该文件夹;另外运行示例还需要把libtensorflow.dll
复制到每个项目的bin/Debug
目录。如果提示找不到Tensorflow命名空间,请重新添加引用。 -
最新版libtensorflow.dll下载:http://ci.tensorflow.org/view/Nightly/job/nightly-libtensorflow-windows/lastSuccessfulBuild/artifact/lib_package/libtensorflow-cpu-windows-x86_64.zip
-
Tensorflow官网:http://www.tensorflow.org
-
Google Tensorflow镜像:https://tensorflow.google.cn/
-
Tensorflow开源项目:https://github.com/tensorflow/tensorflow
-
TensorflowSharp开源项目:https://github.com/migueldeicaza/TensorFlowSharp
-
TensorflowSharp NuGet主页:https://www.nuget.org/packages/TensorFlowSharp/
-
Tensorflow中文社区:http://www.tensorfly.cn/