MadeWithML 了解如何通过ML负责任地交付产品

基础知识

通过直观的解释、干净的代码和可视化学习ML的基础

🔢三个基金会 📈数据建模 🤖*深度学习
Notebooks Linear Regression CNNs
Python Logistic Regression Embeddings
NumPy Neural Network RNNs
Pandas Data Quality Transformers
PyTorch Utilities

📆更多话题即将到来!
Subscribe查看我们每月更新的新内容

MLOPS

了解如何应用ML来构建生产级产品以交付价值

📦新产品 📝使用脚本编写 ♻️*可重现性
Objective Organization Git
Solution Packaging Pre-commit
Iteration Documentation Versioning
🔢三个数据 Styling Docker
Labeling Makefile 🚀三个产品的生产
Preprocessing Logging Dashboard
Exploratory data analysis 📦3个接口 CI/CD workflows
Splitting Command-line Infrastructure
Augmentation RESTful API Monitoring
📈数据建模 ✅测试结果: Pipelines
Evaluation Code Feature store
Experiment tracking Data
Optimization Models

📆每个月都有新的课程!
Subscribe查看我们每月更新的新内容

常见问题解答

这个内容是为谁准备的?

  • Software engineers希望学习ML并成为更好的软件工程师
  • Data scientists谁想了解如何通过ML负责任地交付价值
  • College graduates希望学习该行业所需的实用技能
  • Product Managers谁想为ML应用程序开发技术基础

它的结构是什么?

课程将每周发布一次,每节课程包括:

  • intuition:将涵盖的概念及其如何组合在一起的高级概述
  • code:说明概念的简单代码示例
  • application:将概念应用于我们的具体任务
  • extensions:简要介绍适用于不同情况的其他工具和技术

是什么让这个内容独一无二的呢?

  • hands-on:如果您在线搜索Production ML或MLOps,您会找到很棒的博客帖子和tweet。但是为了真正理解这些概念,您需要实现它们。不幸的是,由于规模、专有内容和昂贵的工具,您没有看到很多运行Production ML的内部工作原理。然而,Made with ML是免费的、开放的和活生生的,这使得它成为社区完美的学习机会
  • intuition-first:我们永远不会直接跳到代码上去。在每节课中,我们都会培养对概念的直觉,并从产品的角度来思考。
  • software engineering:本课程不只是关于ML。事实上,它主要是关于干净的软件工程!我们将介绍一些重要的概念,如版本控制、测试、日志记录等,它们可以真正成为生产级产品
  • focused yet holistic:对于每个概念,我们不仅会介绍对我们的特定任务最重要的内容(这是案例研究方面),而且还会介绍相关的方法(这是指导方面),这些方法在其他情况下可能会被证明是有用的

作者是谁?

  • 我在苹果公司部署了大规模ML系统,也在初创公司部署了受约束的较小系统,我想与大家分享我学到的共同原则
  • 与我保持联系TwitterLinkedIn

为什么这个是免费的?

虽然这个内容是为每个人准备的,但它特别针对那些没有太多学习机会的人。我相信创造力和智慧是随机分布的,而机会是孤立的。我想让更多的人创造并为创新做出贡献


要引用此内容,请使用:

@misc{madewithml,
    title  = "Made With ML",
    author = "Goku Mohandas",
    url    = "https://madewithml.com/"
    year   = "2021",
}

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

Certbot-Certbot 服务器上加密和自动启用HTTPS来获取证书。

Certbot是EFF加密整个互联网的努力的一部分。Web上的安全通信依赖于HTTPS,这需要使用数字证书,让浏览器验证Web服务器的身份(例如,那真的是google.com吗?)。Web服务器从称为证书颁发机构(CA)的可信第三方获取其证书。Certbot是一个易于使用的客户端,它从We‘s Encrypt(由EFF、Mozilla和其他公司推出的开放证书颁发机构)获取证书,并将其部署到Web服务器

任何经历过设置安全网站的人都知道获得和维护证书是多么麻烦。Certbot和We‘s Encrypt可以自动消除痛苦,让您通过简单的命令打开和管理HTTPS。使用Certbot和We‘s Encrypt是免费的,所以不需要安排付款

如何使用Certbot取决于Web服务器的配置。最好的入门方式是使用我们的interactive guide它会根据您的配置设置生成指令。在大多数情况下,您需要root or administrator access连接到您的Web服务器以运行Certbot

Certbot应该直接在您的Web服务器上运行,而不是在您的个人计算机上运行。如果您正在使用托管服务,并且无法直接访问您的Web服务器,则可能无法使用Certbot。有关上传证书或使用由We‘s Encrypt颁发的证书的文档,请咨询您的主机提供商

Certbot是一个功能齐全的、可扩展的客户端,适用于We‘s Encrypt CA(或任何其他使用ACME协议),可以自动执行获取证书和配置Web服务器以使用证书的任务。此客户端在基于Unix的操作系统上运行

要查看不同版本之间对Certbot所做的更改,请参阅我们的changelog

贡献

如果你想为这个项目做贡献,请阅读Developer Guide

此项目由以下人员管理EFF’s Public Projects Code of Conduct

如何运行客户端

安装和运行Certbot的最简单方式是访问certbot.eff.org,您可以在这里找到许多Web服务器和操作系统组合的正确说明。有关详细信息,请参阅Get Certbot

更深入地了解客户

要详细了解客户端正在做什么,重要的是了解它使用插件的方式。请参阅explanation of
plugins
在用户指南中

链接

文档:https://certbot.eff.org/docs

软件项目:https://github.com/certbot/certbot

开发人员注意事项:https://certbot.eff.org/docs/contributing.html

主网站:https://certbot.eff.org

让我们加密网站:https://letsencrypt.org

社区:https://community.letsencrypt.org

Acme规格:RFC 8555

GitHub中的Acme工作区(存档):https://github.com/ietf-wg-acme/acme

系统要求

看见https://certbot.eff.org/docs/install.html#system-requirements

当前功能

  • 支持多个Web服务器:
    • Apache/2.x
    • Nginx/0.8.48+
    • webroot(将文件添加到webroot目录,以证明对域名的控制并获得证书)
    • 独立(运行自己的简单Web服务器以证明您控制了一个域)
    • 其他服务器软件,通过third party plugins
  • 私钥在您的系统上本地生成
  • 可以与We‘s Encrypted CA对话,也可以选择与其他符合ACME标准的服务对话
  • 可以获得域验证(DV)证书
  • 可以吊销证书
  • 可调整的RSA密钥位长(2048(默认值)、4096、.)
  • 可调EC密钥(secp256r1(默认值)、secp384r1、secp521r1)
  • 可以选择安装http->https重定向,以便您的站点仅有效地运行https(仅限Apache)
  • 全自动
  • 配置更改会被记录下来,并且可以恢复
  • 支持交互式文本UI,也可以完全从命令行驱动
  • 免费开放源码软件,使用Python制作

有关使用Certbot和为Certbot做出贡献的详细文档,请访问https://certbot.eff.org/docs如果您希望为该项目做出贡献或运行git的最新代码,您应该阅读我们的developer guide

Sentry 哨兵是跨平台的应用程序监控,重点是错误报告



用户和日志提供线索。哨兵提供答案。

什么是哨兵?

哨兵是一项帮助你实时监控和修复崩溃的服务。服务器使用Python,但它包含用于在任何应用程序中从任何语言发送事件的完整API



官方哨兵SDK

资源

Python-patterns Python中的设计模式/习惯用法的集合

Python模式

Python中的设计模式和习惯用法的集合

当前模式

创作模式

图案 描述
abstract_factory 对特定工厂使用泛型函数
borg 实例间状态共享的单例
builder 生成器对象接收参数并返回构造的对象,而不是使用多个构造函数
factory 委托专用函数/方法来创建实例
lazy_evaluation Python中延迟计算的属性模式
pool 预实例化并维护一组相同类型的实例
prototype 为新实例使用原型的工厂和克隆(如果实例化成本较高)

结构模式

图案 描述
3-tier 数据<->业务逻辑<->表示分离(严格关系)
adapter 使用白名单使一个接口适应另一个接口
bridge 客户端-提供商中间人,用于软化界面更改
composite 允许客户端统一处理各个对象和组合
decorator 将功能与其他功能一起包装以影响输出
facade 使用一个类作为多个其他类的API
flyweight 透明地重用具有相似/相同状态的对象的现有实例
front_controller 进入应用程序的单个处理程序请求
mvc 模型<->视图<->控制器(非严格关系)
proxy 对象将操作传递给其他对象

行为模式

图案 描述
chain_of_responsibility 应用一系列连续的处理程序来尝试和处理数据
catalog 通用方法将根据构造参数调用不同的专用方法
chaining_method 继续回调下一个对象方法
command 捆绑命令和参数以供稍后调用
iterator 遍历容器并访问容器的元素
iterator(Alt.实施。) 遍历容器并访问容器的元素
mediator 知道如何连接其他对象并充当代理的对象
memento 生成可用于返回到以前状态的不透明令牌
observer 提供回调以通知数据的事件/更改
publish_subscribe 源将事件/数据联合到0+注册的侦听器
registry 跟踪给定类的所有子类
specification 通过使用布尔逻辑将业务规则链接在一起,可以重新组合业务规则
state 逻辑被组织成离散数量的潜在状态和可以转换到的下一个状态
strategy 对相同数据的可选操作
template 对象强加了一个结构,但接受可插入的组件
visitor 调用集合中所有项的回调

可测试性模式的设计

图案 描述
dependency_injection 依赖项注入的3种变体

基本模式

图案 描述
delegation_pattern 对象通过委托给第二个对象(委托)来处理请求

其他

图案 描述
blackboard 架构模型,集合不同子系统知识构建解决方案,AI方法-非四人帮模式
graph_search 绘图算法–非四人组模式
hsm 分层状态机-非四人组模式

视频

Design Patterns in Python by Peter Ullrich

Sebastian Buczyński – Why you don’t need design patterns in Python?

You Don’t Need That!

Pluggable Libs Through Design Patterns

贡献

添加或修改实施时,请查看以下准则:

输出

具有示例模式的所有文件都具有### OUTPUT ###部分(迁移到输出=“。”正在进行中)

append_output.sh(例如./append_output.sh borg.py)生成/更新它

文档字符串

以文档字符串的形式添加模块级描述,其中包含指向相应参考资料或其他有用信息的链接

如果您知道一些,请添加“Python生态系统中的示例”部分。它展示了如何将模式应用于现实世界的问题

facade.py有一个很好的详细描述的示例,但有时是较短的示例,如template.py就足够了

在某些情况下,带有doctest的类级文档字符串也会有所帮助(请参见adapter.py),但可读的输出部分要好得多

Python 2兼容性

要查看某些模式的Python2兼容版本,请查看legacy标签

更新自述文件

当其他工作完成后-更新自述文件的相应部分

特拉维斯CI

请跑吧toxtox -e ci37在提交修补程序之前,请确保您的更改将通过CI

您还可以运行flake8pytest手动命令。示例可在tox.ini

通过问题分类进行贡献

您可以对问题进行分类并提取请求,其中可能包括重现错误报告或要求提供重要信息,如版本号或重现说明。如果您想要开始对问题进行分类,一种简单的开始方法是subscribe to python-patterns on CodeTriage

Nerd-fonts 标志性的字体聚合器、集合和补丁程序

书呆子字体是一个用大量字形(图标)为开发人员目标字体打补丁的项目,内涵3600多个图标,50多个补丁字体:Hack,Source Code Pro,更多。字形集合:字体、材质设计图标、Octicons等。具体地说,就是从流行的“图标字体”中添加大量额外的字形,例如Font Awesome ➶Devicons ➶Octicons ➶,以及others。

重要通知

目录

TL;DR

Installation Options

Features

Developer / Contributor

Project Motivation

其他信息

TL;DR

书呆子字体采用流行的编程字体,并添加了一堆字形。还有一个font patcher如果您所需的字体尚未打补丁,则可用。有关更多高级信息,请参阅wiki如果您正在寻找Vim插件,请参阅VimDevIcons ➶

各种字体下载选项

如果你

功能

字形集

🔍🔍现在,您可以在上轻松搜索字形NerdFonts.com通过Cheat Sheet

看见Wiki: Glyph Sets and Codepoints for more details

Shell中的图标名称

看见Wiki: Icon names in shell

打补丁的字体

字体名称 字体名称和存储库 *RFN EM大小 状态
3270 Nerd Font 3270 不是的 1000个
Agave Agave 不是的 2048年
Anonymice Nerd Font Anonymous Pro 不是的 2048年
Arimo Arimo 不是的 2048年
Aurulent Sans Mono Nerd Font 不是的 1000个
BigBlueTerminal 不是的 1200
Bitstream Vera Sans Mono Nerd Font 不是的 2048年
Blex* IBM Plex Mono 1000个
Caskaydia Cove Nerd Font* Cascadia Code 2048年
Code New Roman Nerd Font 不是的 2048年
Cousine Nerd Font Cousine 不是的 1000个
DaddyTimeMono DaddyTimeMono 不是的 1024
DejaVu Sans Mono Nerd Font 不是的 2048年
Droid Sans Mono Nerd Font 不是的 2048年
Fantasque Sans Nerd Font Fantasque Sans 不是的 2048年
Fira Code Nerd Font Fira Code 不是的 1000个
Fira Mono Nerd Font Fira 不是的 1000个
Go Mono Nerd Font Go-Mono 不是的 1000个
Gohu Nerd Font Gohu TTFGohu 不是的 1000个
Hack Nerd Font Hack 不是的 2048年
Hasklug Nerd Font* Hasklig 1000个
Heavy Data Mono Nerd Font 不是的 2048年
Hurmit Nerd Font 不是的 1000个
iM-Writing* iA-Writer 1000个
Inconsolata Nerd Font 不是的 1000个
Inconsolata Go Nerd Font 不是的 1000个
Inconsolata LGC Nerd Font 不是的 1000个
Iosevka Nerd Font Iosevka 不是的 1000个 #83
JetBrains Mono JetBrains Mono 不是的 1000个
Lekton Nerd Font 不是的 1000个
Literation Mono Nerd Font* Liberation 2048年
Lilex Nerd Font Lilex 不是的 2000年
Meslo Nerd Font 不是的 2048年
Monofur Nerd Font 不是的 2400
Monoid Nerd Font 不是的 1536
Mononoki Nerd Font Mononoki 不是的 1024
M+ (MPlus) Nerd Font 不是的 1000个
Noto 不是的 1000个
OpenDyslexic 不是的 1000个
Overpass 不是的 1000个
ProFont (Windows tweaked) Nerd Font 不是的 1200
ProFont (x11) Nerd Font 不是的 1000个
ProggyClean Nerd Font 不是的 2048年 不完美
Roboto Mono 不是的 2048年
Sauce Code Nerd Font Source 1000个
Shure Tech Mono Nerd Font* Share Tech Mono 1000个
Space Mono Nerd Font Space Mono 不是的 1000个
Terminess Nerd Font* Terminus Font 1000个
Tinos 不是的 2048年
Ubuntu Nerd Font 不是的 1000个
Ubuntu Mono Nerd Font 不是的 1000个
Victor Mono Victor Mono 不是的 1000个

*RFN=保留字体名称

组合

  • 完毕1,485,000修补字体的独特变体/组合(功率集):
    • 50修补的字体字样
    • 719打补丁的字体系列
    • 2,876“完整的”变体/组合
    • '1,485,410'可能的变体/组合
      • 1,488,286计算的组合总数(2,876+1,428,110)
  • 每种字体的组合是以下字体的任意组合Variations

变体

字体安装

Option 1: Download and Install Manually

最佳选择速战速决获取特定的单个字体

下载特定的patched font随你选择

Option 2: Release Archive Download

如果您想要存档或完成字体系列变体(粗体、斜体等)

字体可以软件包的形式在latest release

Option 3: Install Script

如果您想要的话,最好的选择自动化安装或用于脚本

注意事项:仅适用于Linux和MacOS(OS X)注意事项需要克隆到目前为止的回购

所有字体:

  • 安装所有打补丁的字体(警告:这是大量的字体加起来很大)
./install.sh

单一字体:

  • 安装您选择的单一字体
./install.sh <FontName>
./install.sh Hack
./install.sh HeavyData

Option 4: Homebrew Fonts

如果启用,则为最佳选项MacOS并且想要使用自制酒

所有字体均可通过Homebrew Cask Fonts在MacOS(OS X)上

brew tap homebrew/cask-fonts
brew install --cask font-hack-nerd-font

Option 5: Clone the Repo

最佳选择完全控制最多字体,或者贡献走向发展

此存储库的克隆是如果您只对有限的一组字体感兴趣,则不需要也不高效(主要是由于存储库的大小

但是,如果您确实要克隆存储库,请确保浅层克隆:

git clone --depth 1

Option 6: Ad Hoc Curl Download

选项,如果要使用curl命令或用于脚本

Linux操作系统

mkdir -p ~/.local/share/fonts
cd ~/.local/share/fonts && curl -fLo "Droid Sans Mono for Powerline Nerd Font Complete.otf" https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20Nerd%20Font%20Complete.otf

注:不推荐使用的备用路径:~/.fonts

MacOS(OS X)

cd ~/Library/Fonts && curl -fLo "Droid Sans Mono for Powerline Nerd Font Complete.otf" https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20Nerd%20Font%20Complete.otf

Option 7: Unofficial Arch User Repository (AUR)

选项用于Arch Linux并且想要使用AUR包

以下字体可通过AUR packages在Arch Linux上:

Option 8: Patch Your Own Font

的选项打补丁你的自己的字体或完全自定义打补丁的字体

使用提供的Python命令行脚本从您自己的字体生成修补字体,以获得额外的新字形

请参见:Font Patcher供使用

  • 如果需要,请使用此选项想要使用其中一个fonts provided
  • 您仍需要将生成的字体复制到系统上的正确字体目录

修补您自己选择的字体以与VimDevIcons ➶

  • 要求:Python 2(或Python 3),python-fontforge包(版本20141231或稍后,请参阅install instructions)
  • OSX上的备用安装方法:brew install fontforge
  • 使用Docker的替代方法:Docker Hub
  • 用法:
./font-patcher PATH_TO_FONT
  • 替代用法:使用脚本标志使用FontForge二进制文件执行补丁程序:
./fontforge -script font-patcher PATH_TO_FONT
  • 使用Docker修补字体:
docker run -v /path/to/fonts:/in -v /path/for/output:/out nerdfonts/patcher [OPTIONS]
usage: font-patcher [-h] [-v] [-s] [-l] [-q] [-w] [-c] [--fontawesome]
                    [--fontawesomeextension] [--fontlinux] [--octicons]
                    [--powersymbols] [--pomicons] [--powerline]
                    [--powerlineextra] [--material] [--weather]
                    [--custom [CUSTOM]] [--postprocess [POSTPROCESS]]
                    [--removeligs] [--configfile [CONFIGFILE]]
                    [--progressbars | --no-progressbars] [--careful]
                    [-ext [EXTENSION]] [-out [OUTPUTDIR]]
                    font

Nerd Fonts Font Patcher: patches a given font with programming and development related glyphs

* Website: https://www.nerdfonts.com
* Version: 2.0.0
* Development Website: https://github.com/ryanoasis/nerd-fonts
* Changelog: https://github.com/ryanoasis/nerd-fonts/blob/master/changelog.md

positional arguments:
  font                  The path to the font to patch (e.g., Inconsolata.otf)

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  -s, --mono, --use-single-width-glyphs
                        Whether to generate the glyphs as single-width not double-width (default is double-width)
  -l, --adjust-line-height
                        Whether to adjust line heights (attempt to center powerline separators more evenly)
  -q, --quiet, --shutup
                        Do not generate verbose output
  -w, --windows         Limit the internal font name to 31 characters (for Windows compatibility)
  -c, --complete        Add all available Glyphs
  --fontawesome         Add Font Awesome Glyphs (http://fontawesome.io/)
  --fontawesomeextension
                        Add Font Awesome Extension Glyphs (https://andrelzgava.github.io/font-awesome-extension/)
  --fontlinux, --fontlogos
                        Add Font Linux and other open source Glyphs (https://github.com/Lukas-W/font-logos)
  --octicons            Add Octicons Glyphs (https://octicons.github.com)
  --powersymbols        Add IEC Power Symbols (https://unicodepowersymbol.com/)
  --pomicons            Add Pomicon Glyphs (https://github.com/gabrielelana/pomicons)
  --powerline           Add Powerline Glyphs
  --powerlineextra      Add Powerline Glyphs (https://github.com/ryanoasis/powerline-extra-symbols)
  --material, --materialdesignicons, --mdi
                        Add Material Design Icons (https://github.com/templarian/MaterialDesign)
  --weather, --weathericons
                        Add Weather Icons (https://github.com/erikflowers/weather-icons)
  --custom [CUSTOM]     Specify a custom symbol font. All new glyphs will be copied, with no scaling applied.
  --postprocess [POSTPROCESS]
                        Specify a Script for Post Processing
  --removeligs, --removeligatures
                        Removes ligatures specified in JSON configuration file
  --configfile [CONFIGFILE]
                        Specify a file path for JSON configuration file (see sample: src/config.sample.json)
  --progressbars        Show percentage completion progress bars per Glyph Set
  --no-progressbars     Don't show percentage completion progress bars per Glyph Set
  --careful             Do not overwrite existing glyphs if detected
  -ext [EXTENSION], --extension [EXTENSION]
                        Change font file type to create (e.g., ttf, otf)
  -out [OUTPUTDIR], --outputdir [OUTPUTDIR]
                        The directory to output the patched font file to

示例

./font-patcher Droid\ Sans\ Mono\ for\ Powerline.otf
./font-patcher Droid\ Sans\ Mono\ for\ Powerline.otf -s -q
./font-patcher Droid\ Sans\ Mono\ for\ Powerline.otf --use-single-width-glyphs --quiet
./font-patcher Droid\ Sans\ Mono\ for\ Powerline.otf -w
./font-patcher Droid\ Sans\ Mono\ for\ Powerline.otf --windows --quiet
./font-patcher Droid\ Sans\ Mono\ for\ Powerline.otf --windows --pomicons --quiet
./font-patcher Inconsolata.otf --fontawesome
./font-patcher Inconsolata.otf --fontawesome --octicons --pomicons
./font-patcher Inconsolata.otf
docker run --rm -v ~/myfont/patchme:/in -v ~/myfont/patched:/out nerdfonts/patcher
docker run --rm -v ~/Desktop/myfont/patchme:/in -v ~/Desktop/myfont/patched:/out nerdfonts/patcher --fontawesome

我得把它们都补上字体补丁!

  • 供贡献者或开发者使用
  • 重新打补丁未打补丁的目录中的字体:
./gotta-patch-em-all-font-patcher\!.sh
  • 可以选择将其限制为特定的字体名称模式:
./gotta-patch-em-all-font-patcher\!.sh Hermit

贡献

看见contributing.md

不稳定的文件路径

⚠️警告:文件路径可能会根据版本的不同而更改(特别是主修版本颠簸)

引用发布分支和这个师傅分支,因为每个版本的路径都会更改

  • 例如:
    • ✅使用:https://github.com/ryanoasis/nerd-fonts/blob/0.9.0/patched-fonts/Hermit/Medium/complete/Hurmit%20Medium%20Nerd%20Font%20Complete.otf
    • ❌而不是:https://github.com/ryanoasis/nerd-fonts/blob/master/patched-fonts/Hermit/Medium/complete/Hurmit%20Medium%20Nerd%20Font%20Complete.otf

要修补的其他好字体

项目动机

看见Wiki: Project Purpose

更改日志

看见changelog.md

许可证

MIT©Ryan L McIntyre

PythonDataScienceHandbook-Python数据科学手册:Jupyter笔记本全文

如何使用本书

关于

本书是使用Python3.5编写和测试的,尽管其他Python版本(包括Python2.7)几乎可以在所有情况下运行

本书介绍了在Python中使用数据所必需的核心库:特别是IPythonNumPyPandasMatplotlibScikit-Learn,以及相关的软件包。假设您熟悉作为一种语言的Python;如果您需要快速介绍该语言本身,请参阅免费的配套项目,A Whirlwind Tour of Python:这是一本针对研究人员和科学家的快节奏Python语言入门教程

看见Index.ipynb有关可与正文一起使用的笔记本的索引,请参阅

软件

书中的代码使用Python 3.5进行了测试,但大多数(但不是全部)也可以在Python 2.7和其他较早的Python版本中正常运行

中列出了我用来运行书中代码的包requirements.txt(请注意,其中一些确切的版本号可能在您的平台上不可用:您可能需要调整它们以供您自己使用)。要使用以下命令安装需求,请执行以下操作conda,请在命令行中运行以下命令:

$ conda install --file requirements.txt

要创建名为的独立环境,请执行以下操作PDSH对于Python 3.5和所有必需的软件包版本,请运行以下命令:

$ conda create -n PDSH python=3.5 --file requirements.txt

中可以阅读有关使用Conda环境的更多信息Managing Environments部分的CONDA文档

许可证

代码

此存储库中的代码(包括上面列出的笔记本中的所有代码示例)发布在MIT license有关更多信息,请访问Open Source Initiative

文本

这本书的正文内容在CC-BY-NC-ND license欲了解更多信息,请访问Creative Commons

AiLearning-AiLearning:机器学习-MachineLearning-ML、深度学习-DeepLearning-DL、自然语言处理nlp

网站地址

下载

Docker

docker pull apachecn0/ailearning
docker run -tid -p <port>:80 apachecn0/ailearning
# 访问 http://localhost:{port} 查看文档

PYPI

pip install apachecn-ailearning
apachecn-ailearning <port>
# 访问 http://localhost:{port} 查看文档

NPM

npm install -g ailearning
ailearning <port>
# 访问 http://localhost:{port} 查看文档

组织介绍

  • 合作或侵权,请联系:apachecn@163.com
  • 我们不是apache的官方组织/机构/团体,只是apache技术栈(以及AI)的爱好者!

一种新技术一旦开始流行,你要么坐上压路机,要么成为铺路石.–斯图尔特·布兰德(Stewart Brand)

路线图

补充

1.机器学习-基础

支持版本

版本 支持
3.6.x
2.7.x

注意事项:

  • 机器学习实战:仅仅只是学习,请使用Python 2.7.x版本(3.6.x只是修改了部分)

基本介绍

学习文档

模块 章节 类型 负责人(GiHub) QQ
机器学习实战 第 1 章: 机器学习基础 介绍 @毛红动 1306014226
机器学习实战 第 2 章: KNN 近邻算法 分类 @尤永江 279393323
机器学习实战 第 3 章: 决策树 分类 @景涛 844300439
机器学习实战 第 4 章: 朴素贝叶斯 分类 @wnma3mz
@分析
1003324213
244970749
机器学习实战 第 5 章: Logistic回归 分类 @微光同尘 529925688
机器学习实战 第 6 章: SVM 支持向量机 分类 @王德红 934969547
网上组合内容 第 7 章: 集成方法(随机森林和 AdaBoost) 分类 @片刻 529815144
机器学习实战 第 8 章: 回归 回归 @微光同尘 529925688
机器学习实战 第 9 章: 树回归 回归 @微光同尘 529925688
机器学习实战 第 10 章: K-Means 聚类 聚类 @徐昭清 827106588
机器学习实战 第 11 章: 利用 Apriori 算法进行关联分析 频繁项集 @刘海飞 1049498972
机器学习实战 第 12 章: FP-growth 高效发现频繁项集 频繁项集 @程威 842725815
机器学习实战 第 13 章: 利用 PCA 来简化数据 工具 @廖立娟 835670618
机器学习实战 第 14 章: 利用 SVD 来简化数据 工具 @张俊皓 714974242
机器学习实战 第 15 章: 大数据与 MapReduce 工具 @wnma3mz 1003324213
ml项目实战 第 16 章: 推荐系统(已迁移) 项目 推荐系统(迁移后地址)
第一期的总结 2017-04-08: 第一期的总结 总结 总结 529815144

网站视频

知乎问答-爆炸啦-机器学习该怎么入门?

当然我知道,第一句就会被吐槽,因为科班出身的人,不屑的吐了一口唾沫,说傻X,还评论Andrew Ng的视频.

我还知道还有一部分人,看Andrew Ng的视频就是看不懂,那神秘的数学推导,那迷之微笑的英文版的教学,我何尝又不是这样走过来的??我的心可能比你们都痛,因为我在网上收藏过上10部“机器学习”相关视频,外加国内本土风格的教程:7月+小象等等,我都很难去听懂,直到有一天,被一个百度的高级算法分析师推荐说:“机器学习实战”还不错,通俗易懂,你去试试??

我试了试,还好我的Python基础和调试能力还不错,基本上代码都调试过一遍,很多高大上的“理论+推导”,在我眼中变成了几个“加减乘除+循环”,我想这不就是像我这样的程序员想要的入门教程么?

很多程序员说机器学习TM太难学了,是的,真TM难学,我想最难的是:没有一本像“机器学习实战”那样的作者愿意以程序员Coding角度去给大家讲解!!

最近几天、GitHub涨了300颗STAR、加群的200人,现在还在不断的增加++,我想大家可能都是感同身受吧!

很多想入门新手就是被忽悠着收藏收藏再收藏,但是最后还是什么都没有学到,也就是“资源收藏家”,也许新手要的就是MachineLearning(机器学习) 学习路线图那就是。没错,我可以给你们的一份,因为我们还通过视频记录下来我们的学习过程.水平当然也有限,不过对于新手入门,绝对没问题,如果你还不会,那算我输!!

视频怎么看?

  1. 理论科班出身-建议去学习Andrew Ng的视频(Ng的视频绝对是权威,这个毋庸置疑)
  2. 编码能力强-建议看我们的《机器学习实战-教学版》
  3. 编码能力弱-建议看我们的《机器学习实战-讨论版》、不过在看理论的时候,看教学版-理论部分;讨论版的废话太多,不过在讲解代码的时候是一行一行讲解的;所以,根据自己的需求,自由的组合.

[免费]数学教学视频-可汗学院入门篇

概率 统计 线性代数
可汗学院(概率) 可汗学院(统计学) 可汗学院(线性代数)

机器学习视频-ApacheCN教学版

AcFun B站
优酷 网易云课堂

[免费]机器/深度学习视频-吴恩达

机器学习 深度学习
吴恩达机器学习 神经网络和深度学习

2.深度学习

支持版本

版本 支持
3.6.x
2.7.x

入门基础

  1. 反向传递https://www.cnblogs.com/charlotte77/p/5629865.html
  2. CNN原理http://www.cnblogs.com/charlotte77/p/7759802.html
  3. RNN原理https://blog.csdn.net/qq_39422642/article/details/78676567
  4. LSTM原理https://blog.csdn.net/weixin_42111770/article/details/80900575

火炬-教程

–待更新

TensorFlow2.0-教程

–待更新

目录结构:

(切分(分词)

词性标注

命名实体识别

句法分析

wordnet可以被看作是一个同义词词典

词干提取(词干)与词形还原(词汇化)

TensorFlow2.0学习网址

3.自然语言处理

支持版本

版本 支持
3.6.x
2.7.x

学习过程中-内心复杂的变化!

自从学习NLP以后,才发现国内与国外的典型区别:
1. 对资源的态度是完全相反的:
  1) 国内: 就好像为了名气,举办工作装逼的会议,就是没有干货,全部都是象征性的PPT介绍,不是针对在做的各位
  2)国外: 就好像是为了推动nlp进步一样,分享者各种干货资料和具体的实现。(特别是: python自然语言处理)
2. 论文的实现: 
  1) 各种高大上的论文实现,却还是没看到一个像样的GitHub项目!(可能我的搜索能力差了点,一直没找到)
  2)国外就不举例了,我看不懂!
3. 开源的框架
  1)国外的开源框架:  tensorflow/pytorch 文档+教程+视频(官方提供)
  2) 国内的开源框架: 额额,还真举例不出来!但是牛逼吹得不比国外差!(MXNet虽然有众多国人参与开发,但不能算是国内开源框架。基于MXNet的动手学深度学习(http://zh.d2l.ai & https://discuss.gluon.ai/t/topic/753)中文教程,已经由沐神(李沐)以及阿斯顿·张讲授录制,公开发布(文档+第一季教程+视频)。)
每一次深入都要去翻墙,每一次深入都要Google,每一次看着国内的说: 哈工大、讯飞、中科大、百度、阿里多牛逼,但是资料还是得国外去找!
有时候真的挺恨的!真的有点瞧不起自己国内的技术环境!

当然谢谢国内很多博客大佬,特别是一些入门的Demo和基本概念。【深入的水平有限,没看懂】

1.(使用场景(百度公开课)

第一部分入门介绍

第二部分机器翻译

第三部分篇章分析

第四部分单元-语言理解与交互技术

应用领域

中文分词:

  • 构建DAG图
  • 动态规划查找,综合正反向(正向加权反向输出)求得DAG最大概率路径
  • 使用了SBME语料训练了一套HMM+维特比模型,解决未登录词问题

1.文本分类(文本分类)

文本分类是指标记句子或文档,例如电子邮件垃圾邮件分类和情感分析.

下面是一些很好的初学者文本分类数据集.

  1. 路透社Newswire主题分类(路透社-21578)。1987年年路透社出现的一系列新闻文件,按类别编制索引。另见RCV1,RCV2和TRC2那就是。
  2. IMDB电影评论情感分类(斯坦福)那就是。来自网站imdb.com的一系列电影评论及其积极或消极的情绪。
  3. 新闻组电影评论情感分类(康奈尔)那就是。来自网站imdb.com的一系列电影评论及其积极或消极的情绪。

有关更多信息,请参阅帖子:单标签文本分类的数据集那就是。

情感分析

比赛地址:https://www.kaggle.com/c/word2vec-nlp-tutorial

  • 方案一(0.86):字数+朴素贝叶斯
  • 方案二(0.94):lda+分类模型(knn/决策树/逻辑回归/svm/xgBoost/随机森林)
    • a)决策树效果不是很好,这种连续特征不太适合的
    • b)通过参数调整200年个主题,信息量保存效果较优(计算主题)
  • 美国有线电视新闻网(方案三):word2vec+cnn
    • 说实话:没有一个好的机器,是调不出来一个好的结果(:逃

通过AuC来评估模型的效果

2.语言模型(语言建模)

语言建模涉及开发一种统计模型,用于预测句子中的下一个单词或一个单词中的下一个单词.它是语音识别和机器翻译等任务中的前置任务.

它是语音识别和机器翻译等任务中的前置任务.

下面是一些很好的初学者语言建模数据集.

  1. 古腾堡项目、一系列免费书籍,可以用纯文本检索各种语言.
  2. 还有更多正式的语料库得到了很好的研究;例如:布朗大学现代美国英语标准语料库那就是。大量英语单词样本.谷歌10亿字语料库那就是。

新词发现

句子相似度识别

文本纠错

  • 双字母+双音

3.图像字幕(图像字幕)

法师字幕是为给定图像生成文本描述的任务。

下面是一些很好的初学者图像字幕数据集.

  1. 上下文中的公共对象(COCO)那就是。包含超过12万张带描述的图像的集合
  2. Flickr 8K那就是。从Flickr.com获取的8千个描述图像的集合。
  3. Flickr 30K那就是。从Flickr.com获取的3万个描述图像的集合。欲了解更多,请看帖子:

探索图像字幕数据集,2016年

4.机器翻译(机器翻译)

机器翻译是将文本从一种语言翻译成另一种语言的任务.

下面是一些很好的初学者机器翻译数据集.

  1. 加拿大第36届议会的协调国会议员那就是。成对的英语和法语句子.
  2. 欧洲议会诉讼平行语料库1996-2011那就是。句子对一套欧洲语言.有大量标准数据集用于年度机器翻译挑战;看到:

统计机器翻译

机器翻译

5.问答系统(问答)

问答是一项任务,其中提供了一个句子或文本样本,从中提出问题并且必须回答问题.

下面是一些很好的初学者问题回答数据集.

  1. 斯坦福问题回答数据集(SQuAD)那就是。回答有关维基百科文章的问题.
  2. Deepmind问题回答语料库那就是。从每日邮报回答有关新闻文章的问题.
  3. 亚马逊问答数据那就是。回答有关亚马逊产品的问题.有关更多信息,请参阅帖子:

数据集: 我如何获得问答网站的语料库,如Quora或Yahoo Answers或Stack Overflow来分析答案质量?

6.语音识别(语音识别)

语音识别是将口语的音频转换为人类可读文本的任务.

下面是一些很好的初学者语音识别数据集.

  1. TIMIT声学 – 语音连续语音语料库那就是。不是免费的,但因其广泛使用而上市.口语美国英语和相关的转录.
  2. VoxForge那就是。用于构建用于语音识别的开源数据库的项目.
  3. LibriSpeech ASR语料库那就是。从librivox收集的大量英语有声读物.

7.自动文摘(文档摘要)

文档摘要是创建较大文档的简短有意义描述的任务.

下面是一些很好的初学者文档摘要数据集.

  1. 法律案例报告数据集那就是。收集了4000份法律案件及其摘要。
  2. TIPSTER文本摘要评估会议语料库那就是。收集了近200份文件及其摘要。
  3. 英语新闻文本的AQUAINT语料库那就是。不是免费的,而是广泛使用的.新闻文章的语料库.欲了解更多信息:

文档理解会议(DUC)任务那就是。在哪里可以找到用于文本摘要的良好数据集?

命名实体识别

文本摘要

图形图计算[慢慢更新]

  • 数据集:data/nlp/graph
  • 学习资料:电光图片X实战.pdf[文件太大不方便提供,自己百度]

知识图谱

进一步阅读

如果您希望更深入,本节提供了其他数据集列表.

  1. 维基百科研究中使用的文本数据集
  2. 数据集: 计算语言学家和自然语言处理研究人员使用的主要文本语料库是什么?
  3. 斯坦福统计自然语言处理语料库
  4. 按字母顺序排列的NLP数据集列表
  5. 该机构NLTK
  6. 在DL4J上打开深度学习数据
  7. NLP数据集
  8. 国内开放数据集:https://bosonnlp.com/dev/resource

贡献者信息

欢迎贡献者不断的追加

免责声明-[只供学习参考]

  • ApacheCN纯粹出于学习目的与个人兴趣翻译本书
  • ApacheCN保留对此版本译文的署名权及其它相关权利

协议

  • 以各项目协议为准.
  • ApacheCN账号下没有协议的项目,一律视为CC BY-NC-SA 4.0那就是。

资料来源:

感谢信

最近无意收到群友推送的链接,发现得到大佬高度的认可,并在热心的推广

在此感谢:

赞助我们

Spark-Apache 面向大规模数据处理的统一分析引擎

Spark

Spark是面向大规模数据处理的统一分析引擎。它提供了Scala、Java、Python和R的高级API,以及支持通用计算图形进行数据分析的优化引擎。它还支持一组丰富的高级工具,包括用于SQL和DataFrame的Spark SQL、用于机器学习的MLlib、用于图形处理的GraphX以及用于流处理的结构化流

在线文档

您可以在上找到最新的Spark文档,包括编程指南project web page本自述文件仅包含基本设置说明

建设Spark

Spark是用Apache Maven要构建Spark及其示例程序,请运行:

./build/mvn -DskipTests clean package

(如果您下载了预构建包,则不需要执行此操作。)

更详细的文档可从项目网站获得,网址为“Building Spark”

有关常规开发提示,包括有关使用集成开发环境开发Spark的信息,请参见“Useful Developer Tools”

交互式Scala外壳

开始使用Spark的最简单方式是通过scala shell:

./bin/spark-shell

尝试执行以下命令,该命令应返回1,000,000,000:

scala> spark.range(1000 * 1000 * 1000).count()

交互式Python外壳

或者,如果您喜欢Python,也可以使用Python shell:

./bin/pyspark

并运行以下命令,该命令也应返回1,000,000,000:

>>> spark.range(1000 * 1000 * 1000).count()

示例程序

Spark还在examples目录。要运行其中一个,请使用./bin/run-example <class> [params]例如:

./bin/run-example SparkPi

将在本地运行PI示例

您可以在运行示例时设置MASTER环境变量,以将示例提交到集群。这可以是 mesos:// 或 Spark://url,“纱线”在纱线上运行,“local”在本地运行,只有一个线程,或者“local[N]”在本地运行,有N个线程。如果类位于examples包裹。例如:

MASTER=spark://host:7077 ./bin/run-example SparkPi

如果没有给出参数,许多示例程序会打印用法帮助

运行测试

测试首先需要building Spark构建Spark后,可以使用以下工具运行测试:

./dev/run-tests

请参阅有关如何执行以下操作的指南run tests for a module, or individual tests

还有一个Kubernetes集成测试,参见resource-managers/kubernetes/integration-tests/README.md

关于Hadoop版本的说明

Spark使用hadoop核心库与hdfs和其他hadoop支持的存储系统对话。由于不同版本的HADOOP中的协议已更改,因此您必须根据群集运行的相同版本构建Spark

请参阅以下地址的构建文档:“Specifying the Hadoop Version and Enabling YARN”有关针对特定Hadoop发行版进行构建的详细指导,包括针对特定配置单元和配置单元节俭服务器发行版进行构建

配置

请参阅Configuration Guide有关如何配置Spark的概述,请参阅联机文档

贡献

请查看Contribution to Spark guide有关如何开始为项目做贡献的信息,请参阅

Pandas 灵活而强大的Python数据分析/操作库


Pandas:功能强大的Python数据分析工具包

那是什么?

Pandas 是一个Python包,它提供了快速、灵活和富有表现力的数据结构,旨在使处理“关系”或“标记”数据变得既简单又直观。旨在成为做实、做实挡路的基础性高水平建设。真实世界Python中的数据分析。此外,它还有更广泛的目标,即成为以任何语言提供的最强大、最灵活的开源数据分析/操作工具它已经在朝着这个目标前进了很久。

主要功能

以下是熊猫擅长的几件事:

  • 轻松处理missing data(表示为NaNNA,或NaT)在浮点和非浮点数据中
  • 大小可变:列可以是inserted and
    deleted
    来自DataFrame和高维对象
  • 自动和显式data alignment:对象可以显式地与一组标签对齐,或者用户可以简单地忽略标签并让SeriesDataFrame等在计算中自动对齐数据。
  • 强大、灵活group by对数据集执行拆分-应用-合并操作的功能,用于聚合和转换数据
  • 搞定easy to convert将其他Python和NumPy数据结构中的参差不齐、索引不同的数据转换为DataFrame对象
  • 基于智能标签的slicingfancy
    indexing
    ,以及subsetting大型数据集的
  • 直观mergingjoining数据集
  • 灵活性reshapingpivoting数据集的
  • Hierarchical轴的标签(每个刻度可以有多个标签)
  • 用于从以下位置加载数据的强大IO工具flat files(csv和分隔),Excel filesdatabases,以及从超高速数据库保存/加载数据HDF5 format
  • Time series-特定功能:日期范围生成和频率转换、移动窗口统计、日期移动和滞后

在哪里买到它?

源代码目前托管在GitHub上,地址为:https://github.com/pandas-dev/pandas

最新发布版本的二进制安装程序可在Python
Package Index (PyPI)
和OnConda

# conda
conda install pandas
# or PyPI
pip install pandas

依赖项

请参阅full installation instructions有关必需、建议和可选依赖项的最低支持版本

从源安装

要从源头安装熊猫,您需要Cython除了上面的正常依赖关系之外。Cython可以从PyPI安装:

pip install cython

pandas目录(与您在克隆git存储库后找到此文件的目录相同),执行:

python setup.py install

或用于安装在development mode

python -m pip install -e . --no-build-isolation --no-use-pep517

如果你有make,您也可以使用make develop要运行相同的命令,请执行以下操作

或者另选地

python setup.py develop

请参阅的完整说明installing from source

许可证

BSD 3

文档

官方文档托管在PyData.org上:https://pandas.pydata.org/pandas-docs/stable

背景

工作于pandas开始于AQR(一家量化对冲基金)于2008年成立,此后一直在积极发展

获取帮助

对于用法问题,最好的去处是StackOverflow此外,一般问题和讨论也可以在pydata mailing list

研讨与发展

在这次回购中,大多数开发讨论都是在gihub上进行的。此外,pandas-dev mailing list也可用于专门的讨论或设计问题,并且Gitter channel可用于解决与快速开发相关的问题

为熊猫做出贡献

欢迎所有贡献、错误报告、错误修复、文档改进、增强和想法

有关如何做出贡献的详细概述,请参阅contributing guide还有一个overview关于GitHub

如果您只是想开始使用PANDA代码库,请导航到GitHub “issues” tab开始研究有趣的问题。下面列出了许多问题Docsgood first issue在那里你可以开始

您还可以对问题进行分类,这可能包括重现错误报告,或要求提供重要信息,如版本号或重现说明。如果您想要开始对问题进行分类,一种简单的开始方法是subscribe to pandas on CodeTriage

或者,通过使用熊猫,你可能有了自己的想法,或者正在文档中寻找一些东西,并认为“这可以改进”。你可以做些什么!

您可以随时在mailing list或打开Gitter

作为这个项目的贡献者和维护者,你们应该遵守熊猫的行为准则。有关更多信息,请访问:Contributor Code of Conduct

有趣好用的Python教程

退出移动版
微信支付
请使用 微信 扫码支付