首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TensorFlow技术主管详解:Google是怎样管理开源软件的

以下内容编译自Warden的文章: 开源可不只是把代码往GitHub上一扔,然后等着别人去用它就完事了。...道理我都懂,可直到在谷歌成为TensorFlow团队的一员,我才真正开了眼:要围绕一个软件打造出一个社区,要考虑的因素实在是太多太多了。...是,我们确实知道该怎么腾出时间去写代码和文档,因为这本来就是我们在谷歌日常工作的一部分;但要给一个超大社区里的众多开发者解答问题,我们就有点懵比了——尽管我们知道,这对于项目的成功十分重要。...首先,每次贡献都会先从轮值核心工程师那里审一遍,以确定其是否真的管用;如果方案通过了最初的审核,我们会对它进行一组Jenkins测试来确保它不会引发任何故障;如果以上两道程序都被通过了,轮值工程师会将方案交给另一位更加擅长相关领域的核心工程师再次进行审核...在任何接触到TensorFlow代码库的内部更改上,我们都会运行这个测试,通不过测试的修改会被拒绝。

91040

Keras正式从TensorFlow分离:效率大幅提升

以后在本地运行 Keras Bazel 测试将不再花费几小时,只需要几分钟。 对于深度学习领域的从业者而言,Keras 肯定不陌生,它是深度学习的主流框架之一。...所有深度学习从业者都应将其代码转换成 TensorFlow 2.0 和 tf.keras 软件包。这意味着二者的合并,但看似双赢的决定,很多开发者却不买账。...因此现在在本地运行 Keras Bazel 测试只需要几分钟,而不是几小时。 变更之后,当前 TensorFlow 代码库中的 Keras 部分将很快被删除。这意味着: 1....开发所需的工具 使用 Keras 开发所需要的工具主要包括如下: 用于创建和测试 Keras 项目的 Bazel 工具和 Python; 用于代码库管理的 git 工具。...本地运行测试 在本地运行一个测试的代码如下: (venv_dir) scottzhu-macbookpro2:keras scottzhu$ bazel test -c opt keras:backend_test

1.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Win10系统编译Tensorflow Lite 2.3为动态链接库tensorflowlite_c.dll

    1.3 安装python 编译过程中,需要用python运行一些脚本,去python官网下载最新版python安装即可,这里不介绍python安装。...目前最新版本是2.4.0,2.4.0的c_api变动比较大,因此选择2.3.1版本,等2.4.x版本稳定后再考虑用更新的,如下图所示: [下载2.3.2版本tensorflow] 1.5 安装bazel...每个版本的tensorflow都有其对应的bazel版本,如果版本不一致,可能会在编译期间出现错误,这种错误还很难排查,-_-||。...按照我对tensorflow官方的尿性的了解, 他们每个版本都会使用当前最新的bazel,换言之,在编译tensorflow 2.3.1期间很有可能最新的bazel版本是3.1.0,也就是说官方用的是bazel...这里个文件即为我们最终的结果。 2.3 抠出头文件 光有dll和lib还不够,我们还需要头文件才能在c++代码里面引用。

    4.8K50

    Building TensorFlow on Android(译)

    本篇文章翻译自tensorflow官网,会加上自己的一些实操讲解,便于大家快速运行起第一个移动端机器学习的demo。...这个需要你知道一些构建系统和Android开发者工具的知识,但是我们将在这里指导您完成基础的操作。 首先,按照我们的说明从源码安装。这个会知道你通过安装Bazel并且克隆Tensorflow代码。...在Tensorflow源代码,使用您本地的SDK和NDK路径更新WORDSPACE文件,其中包含 和。...Android 示例应用程序 Android示例代码是一个构建和安装三个示例应用程序的单个项目,这个三个示例应用程序都使用相同的基础代码。...Android推理库 由于Android应用程序需要用Java编写,核心Tensorflow是C++编写的,所以Tensorflow有一个JNI来链接两者。

    92410

    想提高棋艺?试试这款围棋AI

    我等初级选手,经常会碰到那种不按套路的对手,有时明明觉得对方下了无理手,但就是不知道如何反击。再就是棋盘太空旷,不知如何选点。这些虽然在书上可以学到一些基本技巧,但一到实战,往往不知如何下手。...看PhoenixGo上的代码提交,最新提交也在8个月之前。不过也不要小瞧PhoenixGo,他在2018年4月以“凤凰围棋”身份参赛,并以全胜战绩获取冠军,对付专业棋手还是绰绰有余。...编译环境准备 所需的编译软件有: 带C++ 11支持的GCC,使用系统默认安装的gcc即可 Bazel 0.19.2,如果你的Bazel版本比这个高,先卸载,然后去Bazel官网下载一个0.19.2的版本...编译 使用bazel进行编译: bazel build //mcts:mcts_main 经过漫长的编译,最后终于build完成。 4....然后可以点击Test按钮进行启动测试。

    3.4K10

    Keras正式从TensorFlow分离:结束API混乱与耗时编译

    机器之心报道 编辑:杜伟、小舟 以后在本地运行 Keras Bazel 测试将不再花费几小时,只需要几分钟。 对于深度学习领域的从业者而言,Keras 肯定不陌生,它是深度学习的主流框架之一。...所有深度学习从业者都应将其代码转换成 TensorFlow 2.0 和 tf.keras 软件包。这意味着二者的合并,但看似双赢的决定,很多开发者却不买账。...因此现在在本地运行 Keras Bazel 测试只需要几分钟,而不是几小时。 变更之后,当前 TensorFlow 代码库中的 Keras 部分将很快被删除。这意味着: 1....开发所需的工具 使用 Keras 开发所需要的工具主要包括如下: 用于创建和测试 Keras 项目的 Bazel 工具和 Python; 用于代码库管理的 git 工具。...本地运行测试 在本地运行一个测试的代码如下: (venv_dir) scottzhu-macbookpro2:keras scottzhu$ bazel test

    1K30

    多年C++开发使用经验总结

    而对于Bazel则不是如此。Bazel完全以革命者的姿态完整提供了一整套解决方案,所有的使用细节你都要从头开始。加上文档的匮乏,这就使得你也得花上一段时间,才能熟悉Bazel。...尽管它禁止了很多C++ feature而被很多人黑的很惨,但从工程的角度而言,它的确提供了非常多极其中肯的建议。...单元测试 每个程序员都讨厌写测试。...就我自己而言,我觉的单元测试的目的有以下几个: 确保功能的实现和预期一致 防止程序在重构的时候出问题 给模块的使用者,提供使用示例 值得一提的是,对于C++项目,除了功能性测试之外,你最好还能让你的单元测试通过一些自动化工具的检测...如果仅仅快速试错,那么就不需要维持代码洁癖,因为你完全不知道你今天写的代码究竟能存活多久。而如果是一个马拉松式的项目,代码洁癖就值得维持,因为它对于项目的维护的确很有意义。

    3K30

    Tensorflow源码 目录树

    tensorflow/ tensorflow/ 该目录下存放着tensorflow的核心代码 contrib/ 该目录下存放有其他项目贡献者添加的相关贡献代码。...由于tensorflow受关注程度较高,目前该目录正急剧膨胀。 core/ 后台C++实现部分。包含了主要的 C++代码 和 runtimes 。...该目录为tensorflow的C++源码的核心。 common_runtime/ tensorflow 普通的 执行逻辑。...单元测试代码 和 示例代码 ops/ 核心python接口 platform/ 和上面C++部分的platform(core/platform/)差不多, 对python I/O、单元测试等做了轻量级的包装.../ configure文档 该文件用于配置tensorflow的安装环境,运行该文件并完成tensorflow的安装环境配置后,输入相应bazel指令即可完成代码的编译工作(需要先安装bazel) 其他文档

    1.8K20

    深度学习框架机器学习的开源库TensorFlow

    自那以后,它成为了在全球得到最广泛采用的深度学习框架之一(根据它的 GitHub 项目数量来判断)。...本教程将概述 TensorFlow 系统,包括该框架的好处、支持的平台、安装考虑因素,以及支持的语言和绑定。...从源代码构建 TensorFlow 在 Ubuntu 和 macOS 上,官方构建流程使用 Bazel 构建系统从源代码构建 TensorFlow。...使用 Bazel for Windows 或 CMake for Windows 的 Windows 构建流程是高度试验性的。要获得更多信息,请参阅从源代码安装 TensorFlow。...TensorFlow 安装考虑因素 通常,TensorFlow 可以在任何支持 64 位 Python 开发环境的平台上运行。此环境已足以训练和测试大部分简单示例和教程。

    1.2K10

    TensorFlow-Slim图像分类库

    该目录包含了几种广泛使用的卷积神经网络(CNN)图像分类模型的训练和测试代码。它包含脚本,允许您从头开始训练模型或从预训练(pre-train)的模型进行fine-tune。...它还包含用于下载标准图像数据集的代码,将其转换为TensorFlow的TFRecord格式,并可以使用TF-Slim的数据读取和队列程序进行读取。...在下表中列出了每个模型,都有对应的TensorFlow模型文件,Checkpiont,以及top1和top5精度(在imagenet测试集上)。...bazel build tensorflow/tools/graph_transforms:summarize_graph bazel-bin/tensorflow/tools/graph_transforms.../summarize_graph \ --in_graph=/tmp/inception_v3_inf_graph.pb 用C++运行标签图片 想要在C++中运行结果图: bazel build tensorflow

    2.5K60

    谷歌的Bazel构建工具

    谷歌作为全球技术巨头,为了解决大规模代码构建和测试的挑战,开发了一款名为Bazel的构建工具。Bazel具有强大的功能和灵活性,已成为开源社区中的明星工具。...Bazel基于规则引擎和分布式执行模型,可实现快速、可靠的大规模代码构建和测试。Bazel具有以下特点: 1....大型开源项目构建:许多大型开源项目如TensorFlow、Kubernetes等都使用Bazel作为其构建工具,证明了Bazel在大型项目中的稳定性和高效性。...四、案例分析 为了更直观地展示Bazel在软件开发中的应用,让我们以一个简单的C++项目为例。假设我们有一个简单的C++程序,包含多个源文件和头文件,我们需要使用Bazel来构建和测试这个项目。...通过本文对谷歌的Bazel构建工具的深入探讨,我们了解了其基本概念、应用场景以及如何使用它来构建和测试一个简单的C++项目。

    49310

    机器学习:如何在安卓上集成TensorFlow

    授权转自THU数据派 作者:Amit Shekhar 翻译:梁傅淇 王军福 校对:李君 原文链接:https://blog.mindorks.com/android-tensorflow-machine-learning-example-ff0e9b2654cc...从搭建安卓上的机器学习模型过程讲起 我们需要知道的几个要点: TensorFlow的核心是用C++编写的; 为了在安卓上搭建TensorFlow,我们需要用JNI(Java本地接口)来调用C++函数,比如说...安装Bazel(https://bazel.build/versions/master/docs/install.html)。Bazel是TensorFlow的主要编译系统。...现在,我们就可以调用TensorFlow Java API了。 TensorFlow Java API通过TensorFlowInferenceInterface类开放了所有需要的方法。...也没有任何一行像’System.loadLibray’的代码? A:System.loadLibrary已经写在TensorFlow jar中了。 Q:所以这是一个C++应用还是Java应用啊?

    1.4K50

    学习笔记TF066 : TensorFlow 移动端应用,iOS、Android系统实践

    精简模型,用更低权得精度,量化(quantization)、权重剪枝(weight pruning,剪小权重连接,把所有权值连接低于阈值的从网络移除)。...依赖库下载到tensorflow/contrib/makefile/downloads目录。eigen #C++开源矩阵计算工具。gemmlowp #小型独立低精度通用矩阵乘法(GEMM)库。...googletest #谷歌开源C++测试框架。protobuf #谷歌开源数据交换格式协议。re2 #谷歌开源正则表达式库。 编译演示程度,运行。...第一次训练,retrain.py文件代码先分析所有图片,计算每张图片瓶颈值存储下来。每张图片被使用多次,不必重复计算。 编译iOS支持模型。...参考资料: 《TensorFlow技术解析与实战》 欢迎推荐上海机器学习工作机会,我的微信:qingxingfengzi

    3.1K01

    使用Zig在arm64上引导Uber的基础设施

    我们从 2021 年 11 月开始使用专门的 Linux/x86_64 基础架构,而到了 2023 年 1 月,我们有: 用于生产环境服务器架构(x86_64 和 arm64)的 C++ 工具链,由 zig...Bazel 与 Zig 对于 Bazel 来说,只有一个 C++ 工具链(在本例中是 Zig SDK)是不够的:它还需要一些粘合代码,一个工具链配置。...2022 年 2 月,Go 代码库对 zig cc 的初步支持是通过添加到一个配置标志来实现的: bazel build –config=hermetic-cc 最开始所有的东西都不正常,大部分的测试都无法构建通过...到 2022 年 9 月,所有测试都通过了。自 2023 年 1 月起,Zig 工具链可以将 Uber Go 代码库中的所有 C 和 C++ 代码编译到 Linux 目标平台。...总 结 截止 2023 年 1 月 16 日,所有发布到生产环境的 C/C++ 代码都通过 hermect_cc_toolchain 进行编译。

    37330

    教程 | 如何用TensorFlow在安卓设备上实现深度学习推断

    在这个项目中,我使用了 TensorFlow 中的量化工具来进行模型压缩。目前我只使用权重量化来减小模型大小,因为根据 Mac 上的测试结果,完整 8 位转换没有提供额外的好处,比如缩短推断时间。...在 TensorFlow 目录下运行下列命令行: bazel build tensorflow/tools/graph_transforms:transform_graph bazel-bin/tensorflow...在我的项目中,我把 TF speech example 作为模板。这个示例中的 gradle 文件帮助我们构建和编译安卓的 TF 库。但是,这个预构建的 TF 库可能不包括模型所有必要的 ops。...如果您正在训练自己的模型或重训练一个预先训练好的模型,那么在处理训练数据时,一定要考虑设备上的数据通道。最终,我在 Java 中重写了 librosa MFCC 来处理转换问题。...虽然没有经过严格的测试,但在量化之后,我确实发现准确率略有下降,以及整个系统对周围的噪声很敏感。 ? 图 3. App 中两个示例的截图。 下表所示推断时间是对 5 秒音频的 10 次测试的平均值。

    1.9K50
    领券