张量流 c++ API 是否支持反向传播的自动微分?
Does tensorflow c++ API support automatic differentiation for backpropagation?
张量流C++ API 是否支持自动微分以反向传播梯度?
如果我用 c++ 编写一个图形,并希望在 c++ 代码(而不是 python!(中运行它,自动区分会起作用吗?
假设图中的每个操作都有一个梯度实现。
我认为关于 API C++可以做什么和不能做什么的张量流的文档非常差。
非常感谢您的帮助
从技术上讲,它可以,但AFAIK自动区分仅在Python中"配置"。我的意思是,在较低级别,每个 TensorFlow 操作都不会声明自己的梯度是什么(即计算其梯度的相应操作(。而是在 Python 级别声明。例如,您可以查看math_ops.py
.您将看到,除其他外,有几个功能装饰@ops.RegisterGradient(...)
.这个装饰器所做的是将该函数添加到操作及其梯度的全局注册表(在 Python 中(。因此,例如,优化器类主要是在 Python 中实现的,因为它们利用这个注册表来构建反向传播计算(而不是使用不存在的本机 TensorFlow 原语来实现这一点(。
所以关键是你可以使用相同的操作(然后使用相同的内核实现(进行相同的计算,但我不认为C++拥有(或将拥有(这样的梯度注册表(和优化器类(,所以你需要自己解决或复制反向传播结构。通常,C++ API 不太适合构建计算图。
现在一个不同的问题(也许这就是你首先要问的(是你是否可以运行一个已经存在的图,在C++中进行反向传播。我的意思是用 Python 构建一个计算图,创建一个优化器(这反过来又在图中创建必要的操作来计算梯度和更新变量(并导出图,然后将该图加载到 C++ 中并运行它。这是完全可能的,与在TensorFlow C++中运行任何其他类型的东西没有什么不同。
- 用于访问容器<T>数据成员的正确 API
- 如何使用Luacneneneba API正确读取字符串和表参数
- C++MySQL C api用户输入行
- 如何使用 AWS Transcribe C++ API 中的'StartTranscriptionJobRequest'?
- 将std::string传递给WriteConsole API
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- 在gtest.中使用fff.h模拟系统API
- 有没有任务栏API可以立即应用注册表更改
- C++win32 API创建多个类似视口的窗口
- 使用libcurl提交批量url的正确BING Api POST url是什么
- 如何将真正的字符串从python c-api转换为python脚本
- 使用Qt框架在c ++类中创建API调用
- Libreoffice API (UNO):需要更改用户的 xTextField 文本
- 使用 WIN32 API (C/C++) 对特定树视图项进行着色
- 使用 Python Extension API 包装复杂C++类
- 如何使用 samtools C API 构建一个简单的主.cpp文件
- 第三方 API 中的编译错误 - Visual Studio
- Tensorflow c++ api undefined reference to 'tflite::D efaultErrorReporter()'
- clang 的 libFuzzer 可以在同一二进制文件中测试超过 1 个 API 吗?
- 张量流 c++ API 是否支持反向传播的自动微分?