标签归档:tensorflow

Spleeter-Deezer 源分离库,包括预先训练的模型

关于

SpleeterDeezer编写了预先训练好的模型的源分隔库Python并使用Tensorflow它使训练源分离模型变得很容易(假设您有一个孤立源的数据集),并且提供了已经训练过的用于执行各种风格的分离的最先进的模型:

  • 人声(歌声)/伴奏分离(2 stems)
  • 人声/鼓/低音/其他分离(4 stems)
  • 人声/鼓/低音/钢琴/其他分离(5 stems)

2杆和4杆型号有high performancesmusdb数据集。Spleeter速度也非常快,因为当在GPU上运行时,它可以将音频文件分离到4条主干,速度比实时快100倍

我们设计了Spleeter这样你就可以直接从command line以及直接在您自己的开发管道中作为Python library它可以与安装在一起pip或与以下内容一起使用Docker

项目和软件使用Spleeter

自从发布以来,已经有多个叉子暴露出来了。Spleeter通过引导式用户界面(GUI)或独立的免费或付费网站。请注意,我们不会主办、维护或直接支持任何此类计划

也就是说,很多很酷的项目都建在我们的基础上。值得注意的是,移植到Ableton Live生态系统通过Spleeter 4 Max项目

Spleeter专业音频软件也使用了预先训练好的模型。以下是一个非详尽的列表:

🆕Spleeter是正在进行中的基线Music Demixing Challenge好了!

快速入门

想试一下,但不想安装任何东西吗?我们已经建立了一个Google Colab

准备好加入挖洞了吗?只需几行代码,您就可以安装Spleeter并从示例音频文件中分离声乐和伴奏部分。您需要先安装ffmpeglibsndfile它可以在大多数平台上使用Conda

# install dependencies using conda
conda install -c conda-forge ffmpeg libsndfile
# install spleeter with pip
pip install spleeter
# download an example audio file (if you don't have wget, use another tool for downloading)
wget https://github.com/deezer/spleeter/raw/master/audio_example.mp3
# separate the example audio into two components
spleeter separate -p spleeter:2stems -o output audio_example.mp3

⚠️请注意,我们不再推荐使用conda用于安装喷射器

⚠️苹果M1芯片有一些已知的问题,主要是由于TensorFlow兼容性问题。在这些问题得到解决之前,您可以使用this workaround

您应该会得到两个独立的音频文件(vocals.wavaccompaniment.wav)在output/audio_example文件夹

有关详细文档,请查看repository wiki

开发和测试

此项目使用以下工具进行管理Poetry,要运行测试套件,您可以执行以下命令集:

# Clone spleeter repository
git clone https://github.com/Deezer/spleeter && cd spleeter
# Install poetry
pip install poetry
# Install spleeter dependencies
poetry install
# Run unit test suite
poetry run pytest tests/

参考文献

如果您使用Spleeter在您的工作中,请引用:

@article{spleeter2020,
  doi = {10.21105/joss.02154},
  url = {https://doi.org/10.21105/joss.02154},
  year = {2020},
  publisher = {The Open Journal},
  volume = {5},
  number = {50},
  pages = {2154},
  author = {Romain Hennequin and Anis Khlif and Felix Voituret and Manuel Moussallam},
  title = {Spleeter: a fast and efficient music source separation tool with pre-trained models},
  journal = {Journal of Open Source Software},
  note = {Deezer Research}
}

许可证

的代码SpleeterMIT-licensed

免责声明

如果您计划使用Spleeter对于受版权保护的材料,请确保事先获得版权所有者的适当授权

故障排除

Spleeter是一款复杂的软件,尽管我们不断尝试改进和测试它,但您在运行它时可能会遇到意想不到的问题。如果是这样的话,请查看FAQ page第一个以及currently open issues

Windows用户

似乎有时快捷命令spleeter在Windows上无法正常工作。这是一个已知的问题,我们希望很快就能解决。在此期间,更换spleeter separate通过python -m spleeter separate在命令行中,它应该可以工作

贡献

如果您愿意参与开发Spleeter我们非常欢迎您这样做。请不要犹豫向我们提出拉货要求,我们会尽最大努力快速检查。请查看我们的guidelines第一

注意事项

此存储库包括演示音频文件audio_example.mp3这是史蒂文·M·布莱恩特(Steven M Bryant)“慢动作梦”(Slow Motion Dream)的节选(C)版权所有2011年,版权归知识共享署名(3.0)license英国《金融时报》:CSoul,Alex Beroza&Robert Siekawitch

Data-science-ipython-notebooks-数据科学Python笔记本:深度学习

数据-科学-IPython-笔记本

索引

深度学习

演示深度学习功能的IPython笔记本

张量流教程

其他TensorFlow教程:

笔记本电脑 描述
tsf-basics 在TensorFlow中学习基本操作,TensorFlow是Google提供的各种感知和语言理解任务的库
tsf-linear 在TensorFlow中实现线性回归
tsf-logistic 在TensorFlow中实现Logistic回归
tsf-nn 在TensorFlow中实现最近邻居
tsf-alex 在TensorFlow中实现AlexNet
tsf-cnn 卷积神经网络在TensorFlow中的实现
tsf-mlp 在TensorFlow中实现多层感知器
tsf-rnn 递归神经网络在TensorFlow中的实现
tsf-gpu 了解TensorFlow中的基本多GPU计算
tsf-gviz 了解TensorFlow中的图形可视化
tsf-lviz 了解TensorFlow中的损耗可视化

张量流练习

笔记本电脑 描述
tsf-not-mnist 通过为TensorFlow中的培训、开发和测试创建带有格式化数据集的Pickle,了解简单的数据管理
tsf-fully-connected 在TensorFlow中使用Logistic回归和神经网络逐步训练更深更精确的模型
tsf-regularization 通过训练全连通网络对TensorFlow中的notMNIST字符进行分类来探索正则化技术
tsf-convolutions 在TensorFlow中创建卷积神经网络
tsf-word2vec 在TensorFlow中对Text8数据训练跳格模型
tsf-lstm 在TensorFlow中对Text8数据训练LSTM字符模型

Theano-教程

笔记本电脑 描述
theano-intro Theano简介,它允许您高效地定义、优化和计算涉及多维数组的数学表达式。它可以使用GPU并执行高效的符号微分
theano-scan 学习扫描,这是一种在Theano图中执行循环的机制
theano-logistic 在Theano中实现Logistic回归
theano-rnn 递归神经网络在Theano中的实现
theano-mlp 在Theano中实现多层感知器

Keras-教程

笔记本电脑 描述
角膜 KERAS是一个用Python编写的开源神经网络库。它可以在TensorFlow或Theano上运行
setup 了解教程目标以及如何设置Kera环境
intro-deep-learning-ann 介绍使用KERAS和人工神经网络(ANN)进行深度学习
theano 通过使用权重矩阵和梯度了解Theano
keras-otto 通过观看卡格尔·奥托挑战赛了解凯拉斯
ann-mnist 基于KERAS的MNIST人工神经网络的简单实现
conv-nets 使用KERAS了解卷积神经网络(CNN)
conv-net-1 使用KERA识别MNIST中的手写数字-第1部分
conv-net-2 使用KERA识别MNIST中的手写数字-第2部分
keras-models 将预先培训的型号(如VGG16、VGG19、ResNet50和Inception v3)与KERA配合使用
auto-encoders 了解有关KERAS自动编码器的信息
rnn-lstm 使用KERAS了解递归神经网络(RNN)
lstm-sentence-gen 了解与KERA配合使用长短期内存(LSTM)网络的RNN

深度学习-其他

笔记本电脑 描述
deep-dream 基于Caffe的计算机视觉程序,使用卷积神经网络来查找和增强图像中的图案

科学工具包-学习

演示SCRICKIT学习功能的IPython笔记本

笔记本电脑 描述
intro 介绍笔记本到SCRICKIT-学习。Scikit-Learning添加了对大型多维数组和矩阵的Python支持,以及对这些数组进行操作的高级数学函数库的大型库
knn 在SCRICKIT-LEARN中实现k-近邻
linear-reg 在SCRICKIT-LEARCH中实现线性回归
svm 在SCRKIT-LEARN中实现带核和不带核的支持向量机分类器
random-forest 在SCRICKIT-LEARN中实现随机森林分类器和回归器
k-means 在SCRICIT-LEARN中实现k-均值聚类
pca 主成分分析在SCRICIT-LEARCH中的实现
gmm 在SCRICIT-LEARN中实现高斯混合模型
validation 在SCRICKIT-LEARN中实现验证和模型选择

统计推理法

演示使用SciPy功能进行统计推断的IPython笔记本

笔记本电脑 描述
尖刺的 SciPy是构建在Python的Numpy扩展上的数学算法和便利函数的集合。它为用户提供用于操作和可视化数据的高级命令和类,从而大大增强了交互式Python会话的功能
effect-size 通过分析男性和女性的身高差异,探索量化效应大小的统计数据。使用行为危险因素监测系统(BRFSS)的数据来估计美国成年女性和男性的平均身高和标准偏差
sampling 利用BRFSS数据分析美国男女平均体重探索随机抽样
hypothesis 通过分析头胎婴儿与其他婴儿的差异来探索假设检验

熊猫

演示熊猫功能的IPython笔记本

笔记本电脑 描述
pandas 用Python编写的用于数据操作和分析的软件库。提供用于操作数值表和时间序列的数据结构和操作
github-data-wrangling 通过分析中的GitHub数据,了解如何加载、清理、合并和要素工程Viz回购
Introduction-to-Pandas 熊猫简介
Introducing-Pandas-Objects 了解熊猫对象
Data Indexing and Selection 了解有关熊猫中的数据索引和选择的信息
Operations-in-Pandas 了解有关在熊猫中操作数据的信息
Missing-Values 了解有关处理熊猫中丢失的数据的信息
Hierarchical-Indexing 了解有关熊猫中的分层索引的信息
Concat-And-Append 了解有关组合数据集的信息:在熊猫中合并和追加
Merge-and-Join 了解有关组合数据集的信息:在熊猫中合并和连接
Aggregation-and-Grouping 了解有关在熊猫中聚合和分组的信息
Pivot-Tables 了解有关熊猫中的透视表的信息
Working-With-Strings 了解有关熊猫中的矢量化字符串操作的信息
Working-with-Time-Series 了解有关在熊猫中使用时间序列的信息
Performance-Eval-and-Query 了解高性能熊猫:熊猫中的eval()和query()

Matplotlib

演示matplotlib功能的IPython笔记本

笔记本电脑 描述
matplotlib Python 2D绘图库,以各种硬拷贝格式和跨平台交互环境生成出版物质量数据
matplotlib-applied 将matplotlib可视化应用于Kaggle比赛以进行探索性数据分析。了解如何创建条形图、直方图、子图2格网、归一化图、散点图、子图和核密度估计图
Introduction-To-Matplotlib Matplotlib简介
Simple-Line-Plots 了解有关Matplotlib中的简单线条图的信息
Simple-Scatter-Plots 了解有关Matplotlib中的简单散点图的信息
Errorbars.ipynb 了解有关在Matplotlib中可视化错误的信息
Density-and-Contour-Plots 了解Matplotlib中的密度和等高线绘图
Histograms-and-Binnings 了解有关Matplotlib中的直方图、二进制和密度的信息
Customizing-Legends 了解有关在Matplotlib中自定义地块图例的信息
Customizing-Colorbars 了解有关在Matplotlib中自定义色带的信息
Multiple-Subplots 了解有关Matplotlib中的多个子图的信息
Text-and-Annotation 了解有关Matplotlib中的文本和注记的信息
Customizing-Ticks 了解有关在Matplotlib中自定义刻度的信息
Settings-and-Stylesheets 了解有关自定义Matplotlib的信息:配置和样式表
Three-Dimensional-Plotting 了解有关在Matplotlib中进行三维打印的信息
Geographic-Data-With-Basemap 了解有关在Matplotlib中使用底图的地理数据的信息
Visualization-With-Seaborn 了解有关海运可视化的信息

麻木的

演示NumPy功能的IPython笔记本

笔记本电脑 描述
numpy 添加了对大型多维数组和矩阵的Python支持,以及对这些数组进行运算的大型高级数学函数库
Introduction-to-NumPy NumPy简介
Understanding-Data-Types 了解有关Python中的数据类型的信息
The-Basics-Of-NumPy-Arrays 了解NumPy阵列的基础知识
Computation-on-arrays-ufuncs 了解有关NumPy数组的计算:泛函
Computation-on-arrays-aggregates 了解有关聚合的信息:NumPy中的最小值、最大值以及介于两者之间的所有内容
Computation-on-arrays-broadcasting 了解有关数组计算的信息:在NumPy中广播
Boolean-Arrays-and-Masks 了解有关NumPy中的比较、掩码和布尔逻辑的信息
Fancy-Indexing 了解NumPy中的奇特索引
Sorting 了解有关在NumPy中对数组进行排序的信息
Structured-Data-NumPy 了解结构化数据:NumPy的结构化数组

Python-Data

IPython笔记本,演示面向数据分析的Python功能

笔记本电脑 描述
data structures 使用元组、列表、字典、集学习Python基础知识
data structure utilities 学习Python操作,如切片、范围、xrange、二等分、排序、排序、反转、枚举、压缩、列表理解
functions 了解更高级的Python功能:函数作为对象、lambda函数、闭包、*args、**kwargs curying、生成器、生成器表达式、itertools
datetime 了解如何使用Python日期和时间:datetime、strftime、strptime、timeDelta
logging 了解有关使用RotatingFileHandler和TimedRotatingFileHandler进行Python日志记录的信息
pdb 了解如何使用交互式源代码调试器在Python中进行调试
unit tests 了解如何在Python中使用NOSE单元测试进行测试

Kaggle-and-Business分析

中使用的IPython笔记本kaggle竞争和业务分析

笔记本电脑 描述
titanic 预测泰坦尼克号上的生还者。学习数据清理、探索性数据分析和机器学习
churn-analysis 预测客户流失。练习逻辑回归、梯度增强分类器、支持向量机、随机森林和k近邻。包括对念力矩阵、ROC图、特征重要性、预测概率和校准/识别的讨论

电光

演示电光和HDFS功能的IPython笔记本

笔记本电脑 描述
spark 内存集群计算框架,对于某些应用程序速度最高可提高100倍,并且非常适合机器学习算法
hdfs 在大型群集中跨计算机可靠地存储非常大的文件

MapReduce-Python

演示使用mrjob功能的Hadoop MapReduce的IPython笔记本

笔记本电脑 描述
mapreduce-python 在Python中运行MapReduce作业,在本地或Hadoop群集上执行作业。演示Python代码中的Hadoop流以及单元测试和mrjob用于分析Elastic MapReduce上的Amazon S3存储桶日志的配置文件。Disco是另一个基于python的替代方案。

AWS

演示Amazon Web服务(AWS)和AWS工具功能的IPython笔记本

另请查看:

  • SAWS:增强型AWS命令行界面(CLI)
  • Awesome AWS:库、开源Repos、指南、博客和其他资源的精选列表
笔记本电脑 描述
boto 针对Python的官方AWS SDK
s3cmd 通过命令行与S3交互
s3distcp 组合较小的文件,并通过接受模式和目标文件将它们聚合在一起。S3DistCp还可用于将大量数据从S3传输到您的Hadoop群集
s3-parallel-put 将多个文件并行上传到S3
redshift 充当建立在大规模并行处理(MPP)技术之上的快速数据仓库
kinesis 通过每秒处理数千个数据流的能力实时流式传输数据
lambda 运行代码以响应事件,自动管理计算资源

命令

IPython笔记本,演示Linux、Git等的各种命令行

笔记本电脑 描述
linux 类UNIX且大多兼容POSIX的计算机操作系统。磁盘使用情况、拆分文件、grep、sed、curl、查看正在运行的进程、终端语法突出显示和Vim
anaconda 发布用于大规模数据处理、预测分析和科学计算的Python编程语言,旨在简化包管理和部署
ipython notebook 基于Web的交互式计算环境,您可以在其中将代码执行、文本、数学、绘图和富媒体组合到单个文档中
git 强调速度、数据完整性并支持分布式非线性工作流的分布式修订控制系统
ruby 用于与AWS命令行和Jekyll交互,Jekyll是可托管在GitHub页面上的博客框架
jekyll 简单、支持博客的静电站点生成器,适用于个人、项目或组织站点。呈现Markdown或Textile and Liquid模板,并生成一个完整的静电网站,准备好由Apache HTTP Server、NGINX或其他Web服务器提供服务
pelican 基于Python的Jekyll替代方案
django 高级Python Web框架,鼓励快速开发和干净、实用的设计。它对共享报告/分析和博客很有用。较轻的替代方案包括PyramidFlaskTornado,以及Bottle

杂项

演示各种功能的IPython笔记本

笔记本电脑 描述
regex 数据争论中有用的正则表达式小抄
algorithmia Algorithmia是一个算法市场。本笔记本展示了4种不同的算法:人脸检测、内容摘要、潜在狄利克雷分配和光学字符识别

笔记本-安装

python

Anaconda是Python编程语言的免费发行版,用于大规模数据处理、预测分析和科学计算,旨在简化包管理和部署

按照说明进行安装Anaconda或者更轻的miniconda

设备-设置

有关设置数据分析开发环境的详细说明、脚本和工具,请参阅dev-setup回购

跑步-笔记本

要查看交互式内容或修改IPython笔记本中的元素,必须首先克隆或下载存储库,然后再运行笔记本。有关IPython笔记本的更多信息可以找到here.

$ git clone https://github.com/donnemartin/data-science-ipython-notebooks.git
$ cd data-science-ipython-notebooks
$ jupyter notebook

使用Python 2.7.x测试的笔记本电脑

学分

贡献

欢迎投稿!有关错误报告或请求,请submit an issue

联系方式-信息

请随时与我联系,讨论任何问题、问题或评论

许可证

这个存储库包含各种内容;有些是由Donne Martin开发的,有些是来自第三方的。第三方内容在这些方提供的许可下分发

由Donne Martin开发的内容按照以下许可证分发:

我在开放源码许可下向您提供此存储库中的代码和资源。因为这是我的个人存储库,您获得的我的代码和资源的许可证来自我,而不是我的雇主(Facebook)

Copyright 2015 Donne Martin

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Handson-ml-Jupyter 引导您学习机器学习和深度学习的基础知识

Handson-ml-Jupyter 使用Scikit-Learning和TensorFlow在Python中引导您学习机器学习和深度学习的基础知识。

机器学习笔记本

本项目旨在教您Python中机器学习的基础知识。它包含我的O‘Reilly书中练习的示例代码和解决方案Hands-on Machine Learning with Scikit-Learn and TensorFlow

警告:这本书现在有一个较新的版本,请查收github.com/ageron/handson-ml2

快速入门

想在不安装任何东西的情况下在线玩这些笔记本吗?

使用以下任一服务

警告:请注意,这些服务提供临时环境:您所做的任何操作都将在一段时间后被删除,因此请确保下载您关心的任何数据

  • 推荐:在以下位置打开此存储库Colaboratory
  • 或在中打开它Binder
    • 注意事项:大多数情况下,Binder启动速度很快,工作效果很好,但是当handson-ml更新时,Binder会从头开始创建一个新环境,这可能需要相当长的时间
  • 或在中打开它Deepnote

只想快速浏览一些笔记本,而不执行任何代码?

使用浏览此存储库jupyter.org’s notebook viewer

注意事项github.com’s notebook viewer也可以工作,但速度较慢,并且数学公式并不总是正确显示

要使用Docker映像运行此项目吗?

请阅读Docker instructions

要在您自己的计算机上安装此项目吗?

从安装开始Anaconda(或Miniconda),git,如果您有兼容TensorFlow的GPU,请安装GPU driver,以及相应版本的CUDA和cuDNN(有关详细信息,请参阅TensorFlow的文档)

接下来,通过打开终端并键入以下命令(不要键入第一个命令)来克隆此项目$每行上的符号仅表示这些是终端命令):

$ git clone https://github.com/ageron/handson-ml.git
$ cd handson-ml

接下来,运行以下命令:

$ conda env create -f environment.yml
$ conda activate tf1
$ python -m ipykernel install --user --name=python3

最后,启动Jupyter:

$ jupyter notebook

如果您需要进一步的说明,请阅读detailed installation instructions

常见问题解答

我应该使用哪个Python版本?

我推荐Python3.7。如果您按照上面的安装说明操作,您将获得该版本。大多数代码都可以与其他版本的Python3一起使用,但有些库还不支持Python3.8或3.9,这就是我推荐Python3.7的原因

当我调用时收到错误消息load_housing_data()

一定要给我打电话fetch_housing_data()在此之前你打电话给我load_housing_data()如果您收到HTTP错误,请确保您运行的代码与笔记本中的代码完全相同(如果需要,请复制/粘贴)。如果问题仍然存在,请检查您的网络配置

我在MacOSX上收到SSL错误

您可能需要安装SSL证书(请参阅此处StackOverflow question)。如果您从官方网站下载了Python,则运行/Applications/Python\ 3.7/Install\ Certificates.command在终端中(更改3.7到您安装的任何版本)。如果使用MacPorts安装Python,请运行sudo port install curl-ca-bundle在终端中

我已经在本地安装了这个项目。如何将其更新到最新版本?

看见INSTALL.md

在使用python时,如何将我的Python库更新到最新版本?

看见INSTALL.md

贡献者

我要感谢所有人who contributed to this project,通过提供有用的反馈、提交问题或提交拉取请求。特别感谢海森·帕克和伊恩·博雷德,他们审阅了每个笔记本,并提交了许多公关,包括在一些练习解决方案上的帮助。还要感谢史蒂文·邦克利和齐恩布拉,他们创造了docker目录,并感谢GitHub用户SuperYorio,他在一些运动解决方案上提供了帮助

Real-Time-Voice-Cloning 5秒内克隆语音,实时生成任意语音

实时语音克隆

此存储库是Transfer Learning from Speaker Verification to
Multispeaker Text-To-Speech Synthesis
(SV2TTS),具有实时工作的声码器。请随时查看my thesis如果你很好奇,或者你在找我没有记录的信息。大多数情况下,我建议快速浏览一下导言之外的数字。

SV2TTS是一个三阶段深度学习框架,它允许从几秒钟的音频创建语音的数字表示,并使用它来调整文本到语音的模型,该模型经过训练以概括为新的语音

视频演示(点击图片):

已实施的文件

URL 指定 标题 实施来源
1806.04558 SV2TTS 从说话人确认到多说话人文语合成的转移学习 此回购
1802.08435 WaveRNN(声码器) 高效的神经音频合成 fatchord/WaveRNN
1703.10135 泰科加速器(合成器) Taco tron:走向端到端语音合成 fatchord/WaveRNN
1710.10467 GE2E(编码器) 说话人确认的广义端到端损耗 此回购

新闻

14/02/21:这个回购现在运行在PyTorch上,而不是TensorFlow上,这要归功于@Bluefish的帮助。如果希望改为运行TensorFlow版本,请签出提交5425557

13/11/19:我现在是全职工作,我不会再维持这个回购了。致任何阅读此文的人:

  • 如果你只想克隆你的声音(而不是别人的):我推荐我们的免费计划Resemble.AI你会得到更好的音质和更少的韵律错误
  • 如果这不是您的情况:继续使用此存储库,但您可能最终会对结果感到失望。如果你计划做一个严肃的项目,我的强烈建议是:另找一个TTS回收站。去here了解更多信息

20/08/19:我正在努力resemblyzer,一个独立的语音编码器软件包。您可以使用此回收站中经过训练的编码器型号与其配合使用

06/07/19:需要在远程服务器上的坞站容器中运行吗?看见here

25/06/19:为合成器增加了对低内存GPU(~2 GB)的实验支持。经过--low_memdemo_cli.pydemo_toolbox.py来启用它。这会增加很大的开销,因此如果您有足够的VRAM,则不建议使用

设置

1.安装要求

Python 3.6或3.7运行工具箱所需的

  • 安装PyTorch(>=1.0.1)
  • 安装ffmpeg
  • pip install -r requirements.txt要安装剩余的必要软件包,请执行以下操作

2.下载预先训练好的模型

下载最新版本here

3.(可选)测试配置

在下载任何数据集之前,您可以通过以下方式开始测试配置:

python demo_cli.py

如果所有测试都通过了,你就可以走了

4.(可选)下载数据集

对于单独使用工具箱,我只推荐下载LibriSpeech/train-clean-100将内容提取为<datasets_root>/LibriSpeech/train-clean-100哪里<datasets_root>是您选择的目录。工具箱中支持其他数据集,请参阅here您可以不下载任何数据集,但是您需要将您自己的数据作为音频文件,否则您必须使用工具箱进行记录

5.启动工具箱

然后,您可以尝试该工具箱:

python demo_toolbox.py -d <datasets_root>

python demo_toolbox.py

取决于您是否下载了任何数据集。如果您正在运行X服务器或出现错误Aborted (core dumped),请参见this issue

TensorFlow-Examples-TensorFlow初学者教程和示例(支持TF v1和v2)

TensorFlow示例

本教程旨在通过示例轻松深入TensorFlow。为了可读性,它包括笔记本和带有说明的源代码,适用于TFv1和v2

它适合那些想要找到关于TensorFlow的清晰简明示例的初学者。除了传统的“原始”TensorFlow实现之外,您还可以找到最新的TensorFlow API实践(例如layersestimatordataset、.)

更新(05/16/2020):将所有默认示例移动到TF2。对于TF v1示例:check here

教程索引

0-必备条件

1-简介

  • 你好,世界(notebook)。非常简单的示例,学习如何使用TensorFlow2.0+打印“hello world”
  • 基本操作(notebook)。一个涵盖TensorFlow 2.0+基本操作的简单示例

2-基本型号

  • 线性回归(notebook)。用TensorFlow 2.0+实现线性回归
  • Logistic回归(notebook)。用TensorFlow 2.0+实现Logistic回归
  • word2vec(单词嵌入)(notebook)。使用TensorFlow 2.0+从维基百科数据构建单词嵌入模型(Word2vec)
  • GBDT(梯度增强决策树)(notebooks)。使用TensorFlow 2.0+实现梯度增强决策树,以使用波士顿住房数据集预测房价

3-神经网络

受监督
  • 简单神经网络(notebook)。使用TensorFlow 2.0‘Layers’和‘Model’API构建一个简单的神经网络来对MNIST数字数据集进行分类
  • 简单神经网络(低级)(notebook)。MNIST数字数据集分类的简单神经网络RAW实现
  • 卷积神经网络(notebook)。使用TensorFlow 2.0+“Layers”和“model”API构建卷积神经网络对MNIST数字数据集进行分类
  • 卷积神经网络(低级)(notebook)。卷积神经网络对MNIST数字数据集分类的原始实现
  • 递归神经网络(LSTM)(notebook)。利用TensorFlow 2.0‘Layers’和‘Model’API构建递归神经网络(LSTM)对MNIST数字数据集进行分类
  • 双向递归神经网络(LSTM)(notebook)。利用TensorFlow 2.0+‘Layers’和‘Model’API构建双向递归神经网络(LSTM)对MNIST数字数据集进行分类
  • 动态递归神经网络(LSTM)(notebook)。使用TensorFlow 2.0+‘Layers’和‘Model’API构建一个执行动态计算的递归神经网络(LSTM),对可变长度的序列进行分类
无人监督
  • 自动编码器(notebook)。构建一个自动编码器,将图像编码到较低的维度并重建它
  • DCGAN(深度卷积生成对抗网络)(notebook)。构建深度卷积生成对抗网络(DCGAN)从噪声中生成图像

4-实用程序

  • 保存和恢复模型(notebook)。使用TensorFlow 2.0+保存和恢复模型
  • 构建自定义图层和模块(notebook)。了解如何构建自己的层/模块并将其集成到TensorFlow 2.0+模型中
  • 电路板(notebook)。使用TensorFlow 2.0+Ttensorboard跟踪和可视化神经网络计算图形、指标、权重等

5-数据管理

  • 加载和解析数据(notebook)。使用TensorFlow 2.0(Numpy阵列、图像、CSV文件、自定义数据)构建高效的数据管道。
  • 生成并加载TFRecords(notebook)。将数据转换为TFRecords格式,并使用TensorFlow 2.0+进行加载
  • 图像变换(即图像放大)(notebook)。使用TensorFlow 2.0+应用各种图像增强技术,生成用于训练的失真图像

6-硬件

  • 多GPU培训(notebook)。在CIFAR-10数据集上用多GPU训练卷积神经网络

TensorFlow v1

此处提供了TF v1的教程索引:TensorFlow v1.15 Examples或参见下面的示例列表

数据集

某些示例需要MNIST数据集来进行训练和测试。别担心,运行示例时会自动下载此数据集。MNIST是一个手写数字数据库,要快速描述该数据集,您可以查看this notebook

官网:http://yann.lecun.com/exdb/mnist/

安装

要下载所有示例,只需克隆此存储库:

git clone https://github.com/aymericdamien/TensorFlow-Examples

要运行它们,您还需要最新版本的TensorFlow。要安装它,请执行以下操作:

pip install tensorflow

或者(有GPU支持):

pip install tensorflow_gpu

有关TensorFlow安装的更多详细信息,可以查看TensorFlow Installation Guide

TensorFlow v1示例-索引

此处提供了TF v1的教程索引:TensorFlow v1.15 Examples

0-必备条件

1-简介

  • 你好,世界(notebook)(code)。学习如何使用TensorFlow打印“hello world”的非常简单的示例
  • 基本操作(notebook)(code)。介绍TensorFlow基本操作的简单示例
  • TensorFlow急切API基础知识(notebook)(code)。开始使用TensorFlow急切的API

2-基本型号

  • 线性回归(notebook)(code)。用TensorFlow实现线性回归
  • 线性回归(EAGER API)(notebook)(code)。使用TensorFlow的Eager API实现线性回归
  • Logistic回归(notebook)(code)。用TensorFlow实现Logistic回归
  • Logistic回归(EAGER API)(notebook)(code)。使用TensorFlow的Eager API实现Logistic回归
  • 最近邻居(notebook)(code)。用TensorFlow实现最近邻算法
  • K-均值(notebook)(code)。用TensorFlow构建K-Means分类器
  • 随机森林(notebook)(code)。用TensorFlow构建随机森林分类器
  • 梯度增强决策树(GBDT)(notebook)(code)。用TensorFlow构建梯度增强决策树(GBDT)
  • word2vec(单词嵌入)(notebook)(code)。使用TensorFlow从维基百科数据构建单词嵌入模型(word2vec

3-神经网络

受监督
  • 简单神经网络(notebook)(code)。建立一个简单的神经网络(也称为多层感知器)来对MNIST数字数据集进行分类。原始TensorFlow实现
  • 简单神经网络(tf.layer/估计器API)(notebook)(code)。使用TensorFlow‘Layers’和‘Estiator’API构建一个简单的神经网络(也称为多层感知器)来对MNIST数字数据集进行分类
  • 简单神经网络(EAGER API)(notebook)(code)。使用TensorFlow EAGER API构建简单的神经网络(也称为多层感知器)对MNIST数字数据集进行分类
  • 卷积神经网络(notebook)(code)。构建卷积神经网络对MNIST数字数据集进行分类。原始TensorFlow实现
  • 卷积神经网络(tf.layer/估计器API)(notebook)(code)。使用TensorFlow‘Layers’和‘Estiator’API构建卷积神经网络对MNIST数字数据集进行分类
  • 递归神经网络(LSTM)(notebook)(code)。构建递归神经网络(LSTM)对MNIST数字数据集进行分类
  • 双向递归神经网络(LSTM)(notebook)(code)。构建双向递归神经网络(LSTM)对MNIST数字数据集进行分类
  • 动态递归神经网络(LSTM)(notebook)(code)。建立递归神经网络(LSTM)进行动态计算,对不同长度的序列进行分类
无人监督
  • 自动编码器(notebook)(code)。构建一个自动编码器,将图像编码到较低的维度并重建它
  • 变分自动编码器(notebook)(code)。构建一个变分自动编码器(VAE),对噪声进行编码并生成图像
  • 生成性对抗性网络(GAN)(notebook)(code)。构建生成性对抗网络(GAN),从噪声中生成图像
  • DCGAN(深度卷积生成对抗网络)(notebook)(code)。构建深度卷积生成对抗网络(DCGAN)从噪声中生成图像

4-实用程序

  • 保存和恢复模型(notebook)(code)。使用TensorFlow保存和恢复模型
  • Tensorboard-图形和损耗可视化(notebook)(code)。使用Tensorboard可视化计算图形并绘制损耗
  • 触摸板-高级可视化(notebook)(code)。深入Tensorboard;可视化变量、渐变等

5-数据管理

  • 构建图像数据集(notebook)(code)。使用TensorFlow数据队列从图像文件夹或数据集文件构建您自己的图像数据集
  • TensorFlow数据集API(notebook)(code)。引入TensorFlow数据集API优化输入数据管道
  • 加载和解析数据(notebook)。构建高效的数据管道(Numpy数组、图像、CSV文件、自定义数据等)
  • 生成并加载TFRecords(notebook)。将数据转换为TFRecords格式,并加载
  • 图像变换(即图像放大)(notebook)。应用各种图像增强技术,生成用于训练的失真图像

6-多GPU

  • 多GPU上的基本操作(notebook)(code)。在TensorFlow中引入多GPU的一个简单示例
  • 在多GPU上训练神经网络(notebook)(code)。一种简单明了的TensorFlow在多GPU上训练卷积神经网络的实现

更多例子

以下示例来自TFLearn,一个为TensorFlow提供简化接口的库。你可以看看,有很多examplespre-built operations and layers

教程

  • TFLearn Quickstart通过一个具体的机器学习任务学习TFLearn的基础知识。构建和训练深度神经网络分类器

示例

Keras-人类的深度学习

Keras: Deep Learning for humans

此存储库托管Kera库的开发。阅读keras.io上的文档

关于Keras

KERAS是一个用Python编写的深度学习API,运行在机器学习平台TensorFlow之上。它的开发重点是实现快速实验。能够尽快从想法转化为结果是做好研究的关键。

Keras特点是:

  • Simple
  • Flexible
  • Powerful

Kera&TensorFlow 2

TensorFlow 2是一个端到端的开源机器学习平台。您可以将其视为可区分编程的基础架构层。它结合了四项关键功能:

  • Efficiently executing low-level tensor operations on CPU, GPU, or TPU.
  • Computing the gradient of arbitrary differentiable expressions.
  • Scaling computation to many devices, such as clusters of hundreds of GPUs.
  • Exporting programs (“graphs”) to external runtimes such as servers, browsers, mobile and embedded devices.

KERAS是TensorFlow 2的高级API:TensorFlow 2是一个平易近人、高效的界面,用于解决机器学习问题,重点是现代深度学习。它为开发和发布高迭代速度的机器学习解决方案提供了必要的抽象和构建块

Kera使工程师和研究人员能够充分利用TensorFlow 2的可扩展性和跨平台功能:您可以在TPU或大型GPU群集上运行Kera,还可以导出Kera模型以在浏览器或移动设备上运行


与Keras的第一次接触

KERAS的核心数据结构是层和模型。最简单的模型类型是顺序模型,即层的线性堆栈。对于更复杂的体系结构,您应该使用Kera Functional API,它允许构建任意的层图,或者通过子类化完全从头开始编写模型

以下是顺序模型:

from tensorflow.keras.models import Sequential

model = Sequential()

堆叠层与.add()一样简单:

from tensorflow.keras.layers import Dense

model.add(Dense(units=64, activation='relu'))
model.add(Dense(units=10, activation='softmax'))

一旦您的模型看起来不错,就可以使用.Compile()配置其学习过程:

model.compile(loss='categorical_crossentropy',
              optimizer='sgd',
              metrics=['accuracy'])

如果需要,您可以进一步配置优化器。KERAS的理念是让简单的事情变得简单,同时允许用户在需要的时候完全控制(最终的控制是通过子类化实现源代码的轻松可扩展性)

model.compile(loss=tf.keras.losses.categorical_crossentropy,
              optimizer=tf.keras.optimizers.SGD(
                  learning_rate=0.01, momentum=0.9, nesterov=True))

现在,您可以批量迭代您的培训数据:

# x_train and y_train are Numpy arrays.
model.fit(x_train, y_train, epochs=5, batch_size=32)

在一行中评估您的测试损失和指标:

loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128)

或对新数据生成预测:

classes = model.predict(x_test, batch_size=128)

您刚才看到的是使用KERAS的最基本的方式

然而,KERAS也是一个高度灵活的框架,适合重复最先进的研究思想。KERAS遵循逐步披露复杂性的原则:它使入门变得容易,但它使处理任意高级用例成为可能,每一步只需要增量学习

就像您可以用几行代码训练和评估上面的简单神经网络一样,您可以使用KERAS快速开发新的训练过程或奇异的模型体系结构。以下是一个低级培训循环示例,将KERAS功能与TensorFlow GradientTape相结合:

import tensorflow as tf

# Prepare an optimizer.
optimizer = tf.keras.optimizers.Adam()
# Prepare a loss function.
loss_fn = tf.keras.losses.kl_divergence

# Iterate over the batches of a dataset.
for inputs, targets in dataset:
    # Open a GradientTape.
    with tf.GradientTape() as tape:
        # Forward pass.
        predictions = model(inputs)
        # Compute the loss value for this batch.
        loss_value = loss_fn(targets, predictions)

    # Get gradients of loss wrt the weights.
    gradients = tape.gradient(loss_value, model.trainable_weights)
    # Update the weights of the model.
    optimizer.apply_gradients(zip(gradients, model.trainable_weights))

有关KERAS的更多深入教程,您可以查看:


安装

Kera与TensorFlow2一起打包为tensorflow.keras。要开始使用Kera,只需安装TensorFlow 2


支持

您可以提问并加入发展讨论:

您还可以在GitHub问题中发布错误报告和功能请求(仅限)

Tensorflow-一个面向每个人的开源机器学习框架

Documentation

TensorFlow是一个端到端的机器学习开源平台。它有一个由工具、库和社区资源组成的全面、灵活的生态系统,使研究人员能够使用ML推动最先进的技术,开发人员可以轻松地构建和部署基于ML的应用程序

TensorFlow最初是由谷歌机器智能研究组织内谷歌大脑团队的研究人员和工程师开发的,目的是进行机器学习和深度神经网络研究。该系统具有足够的通用性,可以广泛应用于其他领域

TensorFlow提供稳定的Python和C++API,以及不保证向后兼容的其他语言API

订阅untify@tensorflow.org,随时了解最新的版本公告和安全更新。查看所有邮件列表

安装

请参阅PIP包的TensorFlow安装指南,要启用GPU支持,请使用Docker容器,并从源代码构建

要安装当前版本(包括对启用CUDA的GPU卡(Ubuntu和Windows)的支持),请执行以下操作:

$ pip install tensorflow

此外,还提供了一个较小的仅限CPU的软件包:

$ pip install tensorflow-cpu

要将TensorFlow更新到最新版本,请在上述命令中添加–upgrade标志

夜间二进制文件可用于在PyPI上使用tf-nighly和tf-nighly-cpu包进行测试

尝试您的第一个TensorFlow程序

$ python
>>> import tensorflow as tf
>>> tf.add(1, 2).numpy()
3
>>> hello = tf.constant('Hello, TensorFlow!')
>>> hello.numpy()
b'Hello, TensorFlow!'

有关更多示例,请参阅TensorFlow教程

投稿指南

如果您想对TensorFlow做出贡献,请务必查看贡献指南。该项目遵循TensorFlow的行为准则。通过参与,您应该遵守本守则

我们使用GitHub问题来跟踪请求和错误,有关一般问题和讨论,请参阅TensorFlow讨论,并请将具体问题直接指向Stack Overflow

TensorFlow项目致力于遵守开源软件开发中公认的最佳实践:

连续生成状态

您可以在TensorFlow SIG build社区构建表中找到更多社区支持的平台和配置

官方版本

Build Type Status Artifacts
Linux CPU PyPI
Linux GPU PyPI
Linux XLA TBA
macOS PyPI
Windows CPU PyPI
Windows GPU PyPI
Android
Raspberry Pi 0 and 1 Py3
Raspberry Pi 2 and 3 Py3
Libtensorflow MacOS CPU Status Temporarily Unavailable Nightly Binary Official GCS
Libtensorflow Linux CPU Status Temporarily Unavailable Nightly Binary Official GCS
Libtensorflow Linux GPU Status Temporarily Unavailable Nightly Binary Official GCS
Libtensorflow Windows CPU Status Temporarily Unavailable Nightly Binary Official GCS
Libtensorflow Windows GPU Status Temporarily Unavailable Nightly Binary Official GCS

资源

了解有关TensorFlow社区以及如何做出贡献的更多信息

许可证

Apache License 2.0