人工神经网络编程实战中的六个核心对象类

本文详细介绍了在Perfect TensorFlow中进行机器学习编程的关键对象类,包括Protocol Buffers、TensorFlow Runtime、Shape、Tensor、Operation和Builder、Output以及Graph和Session。这些对象在构建和执行神经网络运算图中起着核心作用,例如使用OperationBuilder构造运算图,通过Session执行计算,并利用Tensor和Shape处理数据。
摘要由CSDN通过智能技术生成

Get Involved with Perfect!

Stack Overflow Join the Perfect Slack

Swift 3.1 Swift 4.0 Platforms OS X | Linux License Apache PerfectlySoft Twitter Slack Status

Perfect TensorFlow 是在 TensorFlow C语言函数库基础上的 Swift 对象类封装,用于在服务器端开发Swift在TensorFlow方面的应用,能够存储、读取TensorFlow模型。

目前 Perfect TensorFlow 机器视觉演示程序 展示了本函数方法,具体内容就是加载了一个预先训练好的卷积神经网络模型,并演示:

Graph 构造张量运算图:使用 OperationBuilder 对象构造张量运算图,用于解码、尺寸变换和正规化一个JPEG照片文件。
模型加载:调用Graph.import()方法加载人工智能图像识别模型。
张量运算:使用Session会话对象按图执行张量计算并分析最接近当前图片内容的标签名称。

使用之前,请首先 安装 Perfect TensorFlow 函数库

对象类简介

Perfect-TensorFlow 函数库是由一系列张量计算有关的对象类构成;为实现完整的编程和运算,请参考下图用于理解各个对象之间的关系和编程顺序:

TFLib: TensorFlow C 语言接口底层函数库
  |
TensorFlow: 运行函数库
  |
  |------ Shape: 张量的维度信息
  |         |
  |       Tensor: 多维数组构成的张量
  |         |
 Graph -- OperationBuilder: 用于构造张量运算表达式的辅助类
  |         |
  |       Operation: 运算操作——张量流程图中的一个节点,用于表达张量之间的运算方法
  |         |
  |       Output: 从运算操作转化而来的符号句柄
  |         |
  |------ Session: 执行张量运算的驱动程序
            |
          Runner: 执行具体的张量计算并生成新创建的张量结果

重点需要掌握的六个对象类

名称 描述
TFLib TensorFlow C 语言接口函数库,建议仅限程序底层内部使用
TensorFlow 封装TensorFlow各对象类的命名空间
1-Shape 张量的维度对象;直接从一个64位整型数组创建而来
2-OperationBuilder 用于构造张量运算表达式的辅助类
3-Operation 运算操作是张量计算图中的一个节点,用于表达张量之间的运算方法
4-Output 从运算操作转化而来的符号句柄
5-Graph 用于代表所有张量计算过程的一个流程图
6-Session Runner 执行具体的张量计算并生成新创建的张量结果

Protocol Buffers 谷歌缓冲协议

Perfect TensorFlow 高度依赖于谷歌的缓冲区协议标准,也就是说您可以非常方便的将大多数函数库内的对象实例保存到二进制文件,或者从二进制文件中加载为目标的对象类实例,并且也可以随时按需转化为数据库记录或者JSON字符串。

以张量运算流程图对象Graph为例,您可以从任何一个训练好的模型文件导入到您的Swift程序中,如以下代码所示(代码节选自Perfect TensorFlow 机器视觉演示程序)

import PerfectLib
import PerfectTensorFlow

typealias TF = TensorFlow

// 加载一个第三方张量运算流程图文件:
let fModel = File("/tmp/tensorflow_inception_graph.pb")
try fModel.open(.read)
let modelBytes = try fModel.readSomeBytes(count: fModel.size)
fModel.close()

// 将数据导入为运算流程图对象:
let def = 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值