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

用Tensorflow神经网络自动创造音乐

在安装bazel时候一直出现“Segmentation fault:11”错误,google了很多解决方法后发现是gcc安装版本问题,如果你是mac用户,下载了xcode,并不代表你安装了gcc...如果安装失败了,用下载好bazel再输入“bazel install gcc”,下载完检测一下gcc -v,如果依然是"Segmentation fault:11"错误,恭喜你,遇到和我一样错误了,...恭喜你,又犯了和我同样错误:)这个错误是说测试文件太大了,不能一下子全部测试16g内存还不够 = =),所以你可以跟我一样手动测试,以其中一个举例: 1 >>>bazel-bin/magenta...3.创建你旋律数据集   和机器学习一样,我们得先输入一定数据它去训练,这里训练数据可以自己下载喜欢音乐,不过Magenta不能直接读取mp3文件,只能读取MIDI文件(mp3太大了,一个10M...模型训练好坏直接决定最后得到音乐好听程度,所以最好等算法收敛后在进行测试测试世界各文件很多都像乱弹。   2.这个项目刚开始不久,有一个论坛专门给大家交流学习心得以及提问题,点这里。

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

自定义规则实现将多个静态库合并为一个动态库或静态库

:表示 C++ 工具链集合 而我们知道规则(Rule)定义了 Bazel 对输入执行一系列操作,以生成一组输出。...例如 cc_binary 规则可能: 输入(Inputs):获取一组 .cpp 文件 动作(Action):基于输入运行 g++ 输出(Output):返回一个可执行文件 Bazel 角度来看,g...:将一个字符串写入文件 ctx.actions.expand_template :模板文件创建一个文件 因此我们可以通过创建一个运行脚本命令 Action 来运行上面所述打包命令,即使用 ctx.actions.run_shell...最后在实现自定义规则中将多个静态库合并为一个动态库示例,这里有几个点我们需要注意下: 在实现我们中间文件拷贝过程,如果最后没有实现输出 output Action,那么中间文件也不会产生,这在调试过程带给了我一阵疑惑...其他比如还可以编写测试规则(类名需以_test结尾)、actions.write(适合小文件生成)、actions.expand_template(用模板生成文件)、用 aspect 依赖搜集信息等等规则具体用法

5.1K20

自定义命令行编译标志

规则设计者可以利用它,例如使规则在其依赖项上设置隐式属性。 transition 表示跨依赖项边缘配置转换。即可以实现读入一组构建设置,并输出一组构建设置。...使用 Starlark Configurations 可以你: 定义项目自己编译标志,而不再需要 --define 对于规则可以实现默认编译配置 不像传统 --cpu 、--copt 、--compilation_mode...=(-c) 等方式,是 Bazel 版本内置,而用户自定义编译设置可以在 .bzl 文件实现,不需要重新编译 Bazel 源码就可以实现 我们最终实现: $ bazel build //my:binary...string_flag 构建设置规则在实际工程我们也不需要自己去实现,可以通过 `bazel-skylib`[3] 加载:load("@bazel_skylib//rules:common_settings.bzl...同时 _today 属性绑定 :week 目标,从而在 date 规则实现可以获得 _today 属性值。

2.5K40

现代 CI 系统太复杂,方向跑偏了

前面说过,CI 系统是一种远程执行代码服务。虽然传统上看,构建系统是在本地运行 (因此不是服务),但现代构建系统(如 Bazel、Buck、Gradle) 完全不一样。...如果Bazel 建立了一个构建系统,然后定义一个服务器端 Git 推送钩子,远程服务器触发 Bazel 进行构建、运行测试并将结果发布到某处,那么这就变成了一个 CI 系统想是的!...有人会将现有的可扩展构建系统(如 Bazel、Buck 和 Gradle)节点转换为平台计算任务,这样就可以实现构建系统和 CI 系统 (可能还有数据管道之类东西) 统一。...愿景所有组件现在都以某种形式存在着。Bazel、Gradle Enterprise 和其他现代构建系统都有用于远程执行和缓存 RPC。...定义 Starlark 方言,这样就可以Bazel 等构建工具原语一样定义 CI/ 发布任务。 迫使其他构建工具(如 Bazel)做出改进,缩短构建时间。

89810

大规模 Hadoop 升级在 Pinterest 实践

解决方案是 Hadoop streaming 作业包 Hadoop jar 不带版本字符串,这样提供 Hadoop 依赖项在运行时总是在类路径,而不管它运行在 Hadoop 2.7 或 2.10...为了解决这个问题(在2.10集群中使用 2.7 jar),我们决定将用户 Bazel jar Hadoop 库解耦;也就是说,我们不再将 Hadoop jar 放在 fat user Bazel...Bazel java_binary 规则有一个名为 deploy_env 参数,它值是表示此二进制部署环境其他 java_binary 目标的列表。...在测试期间,我们花了很多精力来识别这些类型情况,并修改用户 bazel 规则,以显式地添加那些隐藏依赖项。...将 Hadoop bazel targets 2.7 升级到 2.10 在将用户应用程序与 Hadoop Jars 解耦后,我们需要将 Hadoop bazel targets 2.7 升级到

85020

【原创】记录一次详细TensorFlow源代码编译构建安装包总结

最近公司给我们分配了2台虚拟机服务器用于强化学习训练,我们在虚拟环境安装好了TensorFlow环境后,在import tensorflow时发现报了下面的错误: ?...于是去Google搜索了下出现这个错误原因,发现是因为我们服务器CPU不支持AVX指令集导致,而使用pip安装TensorFlow需要依赖AVX指令集,为了确认我们CPU是否真的不支持AVX...在构建TensorFlow之前,我们要先做两件事: 下载TensorFlow源码 下载和安装Bazel构建工具 在下载TensorFlow源码如果网速比较好的话,可以直接使用下面的命令...在官网中会告诉你,你可以安装在GitHub可以是 tensorflow/configure.py 中指定介于 _TF_MIN_BAZEL_VERSION 和 _TF_MAX_BAZEL_VERSION...是自己定义最终安装包输出位置,结束后,我们可以cd到 /tmp/tensorflow_pkg目录,查看里面的内容: ?

2K50

扩展 Bazel 构建语言

本篇介绍何使用宏和规则扩展 Bazel 构建语言。 在学习更高级概念之前,先了解以下几个知识点: 了解 BUILD 和 .bzl 文件中使用 Starlark 语言。...规则比宏更强大。它可以访问 Bazel 内部信息,并完全掌控将要处理内容。例如,它可以将信息传递给其他规则。 如果您想重复使用简单逻辑,请宏开始。如果宏变得复杂,通常最好使其成为规则。...规则适用于高级用户,大多数用户永远都不需要编写规则;它们只会加载和调用现有规则。 BUILD 三个阶段 加载阶段。规则实例化,将其添加到图表。 分析阶段。...执行规则代码(其 implementation 函数),并将操作实例化。一个操作描述了如何从一组输入生成一组输出,如“在 hello.c 上运行 gcc 和获取 hello.o”。...分析阶段接受由加载阶段生成图并生成操作图。 执行阶段。需要至少一项输出时,系统才会执行操作。如果文件缺失,或者某个命令无法生成一条输出,则构建会失败。在此阶段可选运行测试

1.6K10

肘子 Swift 周报 #028 |用 iPhone 感受像素游戏快乐!

在第一时间下载使用了这款应用,当那些熟悉游戏背景音乐响起,仿佛又带回到了多年前游戏时光。虽然这些经典游戏在画面和声音上无法与现代游戏媲美,但它们出色游戏性至今仍人沉迷。...在玩这些精致而简洁像素游戏时,不禁思考,现在游戏或应用是否变得过于庞大了。 新硬件平台让我们可以在不担心效率情况下尽情使用资源,开发者也逐渐习惯了对资源大量消耗。...在这篇详尽指南中,Brentley Jones 介绍了如何将 iOS 应用 Xcode 迁移到 Bazel。...文章以 Mastodon iOS 项目作为实例,涵盖了使用 swift_library 和 ios_application 等规则到利用远程缓存和执行优化构建性能多个方面。...Leonardo Pugliese 这篇文章探讨了 iOS 开发者在使用 Swift 枚举时常见几个错误,包括映射值时缺乏凝聚力、懒惰 Switch 和默认子句误用,以及错误地假设自动原始值递增

8200

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

有几种方法可以实现这些要求,如量化、权重剪枝或将大模型提炼成小模型。 在这个项目中,使用了 TensorFlow 量化工具来进行模型压缩。...为了找到 ops 完整列表,首先使用 tf.train.write_graph 输出详细信息。...结果 图 3 展示了 app 截图和示例。由于模型没有语言模型,而且识别仅在字符级,因此句子中出现了一些拼写错误。...虽然没有经过严格测试,但在量化之后,确实发现准确率略有下降,以及整个系统对周围噪声很敏感。 ? 图 3. App 两个示例截图。 下表所示推断时间是对 5 秒音频 10 次测试平均值。...有两件重要事情可以这个项目更进一步,也可以为社区提供额外教程和演练,以便在边缘设备上部署一个现实语音识别系统。

1.8K50

记录一次详细TensorFlow源代码编译构建安装包总结

最近公司给我们分配了2台虚拟机服务器用于强化学习训练,我们在虚拟环境安装好了TensorFlow环境后,在import tensorflow时发现报了下面的错误: 于是去Google搜索了下出现这个错误原因...于是按照官网https://www.tensorflow.org/install/source给出步骤来尝试源码自己编译和构建TensorFlow。...在构建TensorFlow之前,我们要先做两件事: 下载TensorFlow源码 下载和安装Bazel构建工具  在下载TensorFlow源码如果网速比较好的话,可以直接使用下面的命令GitHub...在官网中会告诉你,你可以安装在GitHub可以是 tensorflow/configure.py 中指定介于 _TF_MIN_BAZEL_VERSION 和 _TF_MAX_BAZEL_VERSION...是自己定义最终安装包输出位置,结束后,我们可以cd到 /tmp/tensorflow_pkg目录,查看里面的内容: 可以看到,我们最终pip安装版本就已经完成,接下来我们就可以在命令行里输入下面的命令进行安装了

1.1K10

构建抽象

最近,在研究 Gradle 和 Java 相关构建实现,对不同编程语言应用构建燃起了一点点兴趣。...引子 3:可选依赖管理(地狱) 关于依赖管理槽点,已经写过一系列文章,诸如于:管理依赖 11 个策略、依赖孪生:低成本依赖安全方案。 单纯构建这件事情上,对于依赖管理是可有可无。...工作空间是一个或者多个软件包集成,它们可以共享依赖、输出目录配置等等。...工作区 工作空间是一个或者多个软件包集成,它们可以共享依赖、输出目录配置等等。...仓库 这个概念再提取是来源于 Bazel。仓库是一系列包合集,我们可以将其视为团队边界,从某种意义上可以看作是代码仓库。

93130

百度Apollo源码学习之Bazel编译介绍

workspace需要包含必要文件: WORKSPACE文件,用于指定当前文件夹就是一个Bazel工作区。所以WORKSPACE文件总是存在于项目的根目录下。...每个工作空间目录都有一个名为文本文件WORKSPACE,该文件可以为空,或者可以包含 对构建输出所需外部依赖项引用。 包含名为文件 WORKSPACE目录被视为工作空间根。...可以看出bazel并不支持名为WORKSPACE.in文件....BUILD文件 BUILD文件包含了多个不同类型bazel指令。 其中最重要是编译规则(build rule),它告诉bazel怎么编译目标输出,是一个执行文件还是一个库。...BUILD文件每一个编译规则被称为target,指向了一堆源文件和相关依赖,一个target也可以指向其他target。

3.2K40

自定义工具链

这些 APIs 不足以所有项目都使用平台。Bazel 还必须淘汰旧 APIs。这不是很容易就完成任务,因为项目的所有语言、工具链、依赖项和 select() 都必须支持新 APIs。...//tools/cpp:toolchain 3 Platform 方式 3.1 平台 3.1.1 概述 Bazel 可以在各种硬件、操作系统和系统配置上构建和测试代码,使用许多不同版本构建工具,比如链接器和编译器...Bazel 认为平台可以扮演三个角色: Host(主机): Bazel 本身运行平台 Execution(执行): 构建工具执行构建操作以产生中间和最终输出平台,执行平台设置一般是固定。...Target(目标): 最终输出驻留在其上并在其上执行平台,比如可能在执行平台上交叉编译目标平台输出,则目标平台是多变。...4 小结 Bazel 平台应用我们可以看到它强大在于大型、混合语言、多平台应用,能够统一平台构建,这也是 Bazel 核心特点。

4.5K31

重磅实战:如何用TensorFlow在安卓设备上实现深度学习,附Demo和源码

有几种方法可以实现这些要求,如量化、权重剪枝或将大模型提炼成小模型。 在这个项目中,使用了 TensorFlow 量化工具来进行模型压缩。...为了找到 ops 完整列表,首先使用 tf.train.write_graph 输出详细信息。...结果 图 3 展示了 app 截图和示例。由于模型没有语言模型,而且识别仅在字符级,因此句子中出现了一些拼写错误。...虽然没有经过严格测试,但在量化之后,确实发现准确率略有下降,以及整个系统对周围噪声很敏感。 ? 图 3. App 两个示例截图。 下表所示推断时间是对 5 秒音频 10 次测试平均值。...有两件重要事情可以这个项目更进一步,也可以为社区提供额外教程和演练,以便在边缘设备上部署一个现实语音识别系统。 提高语音识别性能:添加拼写校正语言模型和噪声下采样模型,以降低周围噪声影响。

2.3K30

每日一学——TensorFlow学习

它灵活架构可以在多种平台上展开计算,例如台式计算机一个或多个CPU(或GPU)、服务器、移动设备等等。...注:也是初学者,想分享基础知识给大家学习,也从零开始TF,希望和更多朋友一起学习,谢谢您们支持! 二进制安装 TensorFlow Python API 依赖 Python 2.7 版本....在 Linux 和 Mac 下最简单安装方式, 是使用 pip 安装. 如果在安装过程遇到错误, 请查阅 常见问题. 为了简化安装步骤, 建议使用 virtualenv, 教程见 这里....可以考虑将下面的命令 添加到~/.bash_profile 文件, 这样每次登陆后自动生效....$ bazel-bin/tensorflow/cc/tutorials_example_trainer --use_gpu# 大量输出信息.

1.3K80

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

究竟该选择哪个工具,觉得可以如下几个方面来对比一下: 1、上手难度 因为Bazel采用了类似Python语法,所以其学习曲线相比CMake要平缓一些。...说到底,编程规范存在,主要就是可以水平参差不齐工程师们,可以在一起协作出风格较为一致项目来。...自己在开发,觉得非常方便必须使用新特性有: 智能指针 右值,以及C++14右值得capture lambda, bind initialize list 想补充说一下是auto,自己不是特别喜欢这个...feature,也非常赞同google规范对auto限制:仅当可以提高代码可读性时,使用auto 这里不由得就想扯起java 10var。...就自己而言,单元测试目的有以下几个: 确保功能实现和预期一致 防止程序在重构时候出问题 给模块使用者,提供使用示例 值得一提是,对于C++项目,除了功能性测试之外,你最好还能让你单元测试通过一些自动化工具检测

2.7K30

【翻译】monorepos 优点

:是啊!真的很方便,你不觉得? 某人:这是听过最可笑事情。难道 FB 和 Google 不知道将所有代码放在一个存储库是多么糟糕主意?...简化组织带来一个好处是更容易浏览项目。使用 monorepos 您基本上可以像在网络文件系统上一样导航,重新使用用于在项目中导航语句。...理论上讲,创建一个构建系统是可能,它可以在没有 monorepo 情况下轻松构建任何具有任何依赖关系东西,但它需要更多努力,足够努力,从未见过一个系统可以无缝地做到这一点。...如果不得不等待 C 发布,然后是 B,然后才能修复和部署 A,可能还在等待。但由于所有内容都在一个 repo 同事可以进行更改并提交,然后可以立即进行更改。...如果一切都由 git 版本链接,想我可以做到这一点,但我同事仍然必须进行两次提交。并且总是有选择一个版本并修复冲突时候。

1.6K30

Istio实战系列-Envoy Proxy构建分析

但这个库并不包含Envoy自身源代码,因此这个库在构建时会Github上下载Envoy源码进行联合编译。 编译工具 Envoy采用了Bazel进行构建。...Bazel定义构建依赖关系和规则,并管理构建生成临时文件及二进制文件,具体编译工作是调用各个语言编译工具如GCC, JAVAC等完成。...target是一个构建规则(build rule)实例,一般包含构建所需源文件,构建目标的名称。rule还可以嵌套,一个rule输出文件可以作为另一个rule输入文件。...另外target还可以依赖外部Repository另一个target,这个外部Repository可以是文件系统上另一个文件夹下项目,github项目或者http下载代码。...在执行//src/envoy:envoy这个target时,发现该target依赖这个外部repository,根据http_archive描述,指定url下载该依赖源码,并进行编译。

1.7K10
领券