Jumpserver 全球首款开源的堡垒机

多云环境下更好用的堡垒机


JumpServer是全球首款开源的堡垒机,使用GNU GPL v2.0开源协议,是符合4A规范的运维安全审计系统。

JumpServer使用Python开发,遵循Web2.0规范,配备了业界领先的Web终端方案,交互界面美观、用户体验好。

跳跃服务器采纳分布式架构,支持多机房跨区域部署,支持横向扩展,无资产数量及并发限制。

改变世界,从一点点开始

特色优势

  • 开源:零门槛,线上快速获取和安装;
  • 分布式:轻松支持大规模并发访问;
  • 无插件:仅需浏览器,极致的WEB终端使用体验;
  • 多云支持:一套系统,同时管理不同云上面的资产;
  • 云端存储:审计录像云端存储,永不丢失;
  • 多租户:一套系统,多个子公司和部门同时使用;
  • 多应用支持:数据库、Windows远程应用、Kubernetes。

快速开始

组件项目

  • Lina跳跃服务器Web UI项目
  • Luna跳跃服务器网络终端项目
  • KoKo跳跃服务器字符协议连接器项目,替代原来Python版本的Coco
  • Lion跳跃服务器图形协议连接器项目,依赖Apache Guacamole

社区

如果您在使用过程中有任何疑问或对建议,欢迎提交GitHub Issue或加入到我们的社区当中进行进一步交流沟通.

微信交流群

贡献

如果有你好的想法创意,或者帮助我们修复了错误,欢迎提交拉取请求

感谢以下贡献者,让跳跃服务器更加完善












致谢

  • Apache GuacamoleWEB页面连接rdp、ssh、vnc协议设备、JumpServer图形化组件Lion依赖
  • OmniDBWEB页面连接使用数据库、跳跃服务器WEB数据库依赖

跳跃服务器企业版

案例研究

安全说明

跳跃服务器是一款安全产品,请参考基本安全建议部署安装

如果你发现安全问题,可以直接联系我们:

许可证和版权

版权所有(C)2014年至2020年飞致云FIT2CLOUD,保留所有权利

在GNU通用公共许可证版本2(GPLv2)(“许可证”)下获得许可;除非遵守许可证,否则您不能使用此文件。您可以在以下地址获取许可证副本

https://www.gnu.org/licenses/gpl-2.0.html

除非适用法律要求或书面同意,否则根据本许可证分发的软件是按“原样”分发的,没有任何明示或暗示的任何类型的担保或条件。请参阅许可证下管理权限和限制的特定语言的许可证

100-Days-Of-ML-Code-ML代码的100天中文版

机器学习100天

英文原版请移步Avik-Jain那就是。数据在这里

翻译前请先阅读规范。常见问题解答见FAQ

目录

数据预处理|第1天

数据预处理实现

简单线性回归|第2天

简单线性回归实现

多元线性回归|第3天

多元线性回归实现

逻辑回归|第4天

逻辑回归|第5天

今天我深入研究了逻辑回归到底是什么,以及它背后的数学是什么.学习了如何计算代价函数,以及如何使用梯度下降法来将代价函数降低到最小.
由于时间关系,我将隔天发布信息图.如果有人在机器学习领域有一定经验,并愿意帮我编写代码文档,也了解GitHub的Markdown语法,请在领英联系我。

逻辑回归|第6天

逻辑回归实现

K近邻法(k-NN)|第7天

逻辑回归背后的数学|第8天

为了使我对逻辑回归的见解更加清晰,我在网上搜索了一些资源或文章,然后我就发现了Saishruthi Swminathan的这篇文章

它给出了逻辑回归的详细描述.请务必看一看.

支持向量机(支持向量机)|第9天

直观了解支持向量机是什么以及如何使用它来解决分类问题.

支持向量机和K近邻法|第10天

了解更多关于支持向量机如何工作和实现KNN算法的知识.

K近邻法(k-NN)|第11天

K近邻法(k-NN)实现

支持向量机(支持向量机)|第12天

支持向量机(支持向量机)|第13天

SVM实现

支持向量机(支持向量机)的实现|第14天

今天我在线性相关数据上实现了支持向量机。使用SCHKIT-学习库。在科学套件-了解中我们有服务分类器,我们用它来完成这个任务。将在下一次实现时使用内核技巧。python代码见此处,jupyter笔记本见此处那就是。

朴素贝叶斯分类器(朴素贝叶斯分类器)和黑盒机器学习(黑盒机器学习)|第15天

学习不同类型的朴素贝叶斯分类器同时开始Bloomberg的课程.课程列表中的第一个是黑盒机器学习.它给出了预测函数,特征提取,学习算法,性能评估,交叉验证,样本偏差,非平稳性,过度拟合和超参数调整的整体观点.

通过内核技巧实现支持向量机|第16天

使用科学工具包-学习库实现了支持向量机算法以及内核函数,该函数将我们的数据点映射到更高维度以找到最佳超平面。

在Coursera开始深度学习的专业课程|第17天

在1天内完成第1周和第2周内容以及学习课程中的逻辑回归神经网络。

继续Coursera上的深度学习专业课程|第18天

完成课程1.用Python自己实现一个神经网络.

学习问题和Yaser Abu-Mostafa教授|第19天

开始Yaser Abu-Mostafa教授的加州理工学院机器学习课程-CS156中的课程1.这基本上是对即将到来的课程的一种介绍.他也介绍了感知算法.

深度学习专业课程2|第20天

完成改进深度神经网络第1周内容:参数调整,正则化和优化.

网页搜罗|第21天

观看了一些关于如何使用美汤进行网络爬虫的教程,以便收集用于构建模型的数据。

学习还可行吗?|第22天

完成Yaser Abu-Mostafa教授的加州理工学院机器学习课程-CS156中的课程2.学习Hoeffding不等式.

决策树|第23天

统计学习理论的介绍|第24天

彭博ML课程的第3课介绍了一些核心概念,如输入空间,动作空间,结果空间,预测函数,损失函数和假设空间。

决策树|第25天

决策树实现

跳到复习线性代数|第26天

发现Youtube一个神奇的频道3Blue1Brown,它有一个播放列表“线性代数的本质”。看完了4个视频,包括了向量,线性组合,跨度,基向量,线性变换和矩阵乘法.

B站播放列表在这里那就是。

跳到复习线性代数|第27天

继续观看了4个视频,内容包括三维变换、行列式、逆矩阵、列空间、零空间和非方矩阵.

B站播放列表在这里那就是。

跳到复习线性代数|第28天

继续观看了3个视频,内容包括点积和叉积.

B站播放列表在这里那就是。

跳到复习线性代数|第29天

观看了剩余的视频12到14,内容包括特征向量和特征值,以及抽象向量空间.

B站播放列表在这里那就是。

微积分的本质|第30天

完成上一播放列表后,Youtube推荐了新内容“微积分的本质”,今天看完了其中的3个视频,包括导数、链式法则、乘积法则和指数导数。

B站播放列表在这里那就是。

微积分的本质|第31天

观看了2个视频,内容包括隐分化与极限.

B站播放列表在这里那就是。

微积分的本质|第32天

观看了剩余的4个视频,内容包括积分与高阶导数.

B站播放列表在这里那就是。

随机森林|第33天

随机森林|第34天

随机森林实现

什么是神经网络?|深度学习,第1章|第35天

Youtube频道3Blue1Brown中有精彩的视频介绍神经网络。这个视频提供了很好的解释,并使用手写数字数据集演示基本概念.

B站视频在这里那就是。

梯度下降法,神经网络如何学习|深度学习,第2章|第36天

Youtube频道3Blue1Brown关于神经网络的第2部分,这个视频用有趣的方式解释了梯度下降法。推荐必须观看169

B站视频在这里那就是。

反向传播法究竟做什么?|深度学习,第3章|第37天

Youtube频道3Blue1Brown关于神经网络的第3部分,这个视频主要介绍了偏导数和反向传播法。

B站视频在这里那就是。

反向传播法演算|深度学习,第4章|第38天

Youtube频道3Blue1Brown关于神经网络的第3部分,这个视频主要介绍了偏导数和反向传播法。

B站视频在这里那就是。

第1部分|深度学习基础Python,TensorFlow和Kera|第39天

视频地址在这里那就是。
中文文字版notebook那就是。

第2部分|深度学习基础Python,TensorFlow和Kera|第40天

视频地址在这里那就是。
中文文字版notebook那就是。

第3部分|深度学习基础Python,TensorFlow和Kera|第41天

视频地址在这里那就是。
中文文字版notebook那就是。

第4部分|深度学习基础Python,TensorFlow和Kera|第42天

视频地址在这里那就是。
中文文字版notebook那就是。

K-均值聚类|第43天

转到无监督学习,并研究了聚类.可在作者网站查询.发现一个奇妙的动画有助于理解K-均值聚类

K-均值聚类|第44天

(实现(待添加代码)

深入研究|数字|第45天

得到JK Vanderplas写的书“Python数据科学手册(Python数据科学手册)”,Jupyter Notebook在这里那就是。
高清中文版pdf

第2章:Numpy介绍,包括数据类型、数组和数组计算。
代码如下:
2 NumPy入门

2.1 理解Python中的数据类型

2.2 NumPy数组基础

2.3 NumPy数组的计算:通用函数

深入研究|数字|第46天

第2章:聚合,比较运算符和广播.
代码如下:
2.4 聚合:最小值、最大值和其他值

2.5 数组的计算:广播

2.6 比较、掩码和布尔运算

深入研究|数字|第47天

第2章:花哨的索引,数组排序,结构化数据.
代码如下:
2.7 花哨的索引

2.8 数组的排序

2.9 结构化数据:NumPy的结构化数组

深入研究|熊猫|第48天

第3章:熊猫数据处理
包含Pandas对象,数据取值与选择,数值运算方法,处理缺失值,层级索引,合并数据集.
代码如下:
3 Pandas数据处理

3.1 Pandas对象简介

3.2 数据取值与选择

3.3 Pandas数值运算方法

3.4 处理缺失值

3.5 层级索引

3.6 合并数据集:ConCat和Append方法

深入研究|熊猫|第49天

第3章:完成剩余内容-合并与连接,累计与分组,数据透视表.
代码如下:
3.7 合并数据集:合并与连接

3.8 累计与分组

3.9 数据透视表

深入研究|熊猫|第50天

第3章:向量化字符串操作,处理时间序列.
代码如下:
3.10 向量化字符串操作

3.11 处理时间序列

3.12 高性能Pandas:eval()与query()

深入研究|MATPLOTLIB|第51天

第4章:Matplotlib数据可视化
学习简易线形图,简易散点图,密度图与等高线图
代码如下:
4 Matplotlib数据可视化

4.1 简易线形图

4.2 简易散点图

4.3 可视化异常处理

4.4 密度图与等高线图

深入研究|MATPLOTLIB|第52天

第4章:Matplotlib数据可视化
学习直方图,配置图例,配置颜色条,多子图.
代码如下:
4.5 直方图

4.6 配置图例

4.7 配置颜色条

4.8 多子图

4.9 文字与注释

深入研究|MATPLOTLIB|第53天

第4章:Matplotlib数据可视化
学习三维绘图.
4.12 画三维图

层次聚类|第54天

动画演示

Flatbuffers-FlatBuffers:内存效率高的串行化库

Flatbuffers

Flatbuffers是一个跨平台的序列化库,旨在实现最高的内存效率。它允许您直接访问序列化数据,而无需先对其进行解析/解包,同时仍具有很好的向前/向后兼容性

请访问我们的landing page浏览我们的文档

支持的操作系统

  • Windows
  • MacOS X
  • Linux操作系统
  • 安卓系统
  • 以及使用最新的C++编译器的任何其他版本

支持的编程语言

  • C++
  • C#
  • C
  • GO
  • Java语言
  • JavaScript
  • PHP
  • python
  • Rust

还有更多的正在进行中

贡献

为这个项目做贡献,看见CONTRIBUTING

安全性

请参阅我们的Security Policy用于报告漏洞

许可

平缓冲器是按照Apache许可证2.0版进行许可的。看见LICENSE有关完整的许可证文本,请参阅

Pytudes-Python程序,通常很短,难度相当大,以完善特定的技能

Pytudes 是一种器乐作品,通常很短,难度很大,旨在为完善某一特定的音乐技能提供练习材料。

这是给谁的?

有些人认为编程就像Spotify:他们想知道如何安装应用程序,找到一个好的播放列表,然后点击“播放”按钮;之后他们就不想去想了。还有很多其他教程将告诉您如何针对各种编程任务执行与此相同的操作–这一篇不会有什么帮助。但是如果你把编程想成像弹钢琴一样–一门需要花费大量时间的手艺years为了完美-那我希望这套藏品能帮上忙

Jupyter(IPython)笔记本索引

编程示例
cdmng 2020年 Advent of Code 2020
cdmng 2018年 Advent of Code 2018
cdmng 2017年 Advent of Code 2017
cdmng 2016年 Advent of Code 2016
cdmng 2018年 Beal’s Conjecture Revisited
cdmng 2020年 Bicycling Statistics
cdmng 2018年 Can’t Stop
cdmng 2019年 Chaos with Triangles
cdmng 2017年 Conway’s Game of Life
cdmng 2020年 Generating and Solving Mazes
cdmng 2020年 Photo Focal Lengths
cdmng 2018年 Pickleball Tournament
cdmng 2017年 Project Euler Utilities
cdmng 2020年 Tracking Trump: Electoral Votes
逻辑与数字之谜
cdmng 2014年 Cryptarithmetic
cdmng 2018年 Euler’s Sum of Powers Conjecture
cdmng 2020年 Four 4s, Five 5s, and Countdowns
cdmng 2019年 Pairing Socks
cdmng 2018年 Sicherman Dice
cdmng 2014年 Sol Golomb’s Rectangle Puzzle
cdmng 2020年 Square Sum Puzzle
cdmng 2020年 When is Cheryl’s Birthday? (new: Mad Cheryl)
cdmng 2015年 When Cheryl Met Eve: A Birthday Story
cdmng 2015年 xkcd 1313: Regex Golf
cdmng 2015年 xkcd 1313: Regex Golf (Part 2: Infinite Problems)
“谜语者”(出自538)
cdmng 2017年 Battle Royale
cdmng 2021年 CrossProduct
cdmng 2020年 Flipping Cards; A Guessing Game
cdmng 2019年 Lottery
cdmng 2019年 How Many Soldiers to Beat the Night King?
cdmng 2017年 Misanthropic Neighbors
cdmng 2018年 Properly Ordered Card Hands
cdmng 2021年 Split the States
cdmng 2020年 Tour de 538
cdmng 2020年 Weighing Twelve Balls
cdmng 2020年 War. What is it Good For?
字谜
cdmng 2020年 Boggle / Inverse Boggle
cdmng 2020年 Chemical Element Spelling
cdmng 2020年 Equilength Numbers: FOUR = 4
cdmng 2017年 Gesture Typing
cdmng 2017年 Ghost: A Word game
cdmng 2018年 How to Do Things with Words: NLP in Python
cdmng 2020年 Jotto: A Word Guessing Game
cdmng 2015年 Let’s Code About Bike Locks
cdmng 2017年 Scrabble: Refactoring a Crossword Game Program
cdmng 2020年 Spelling Bee
cdmng 2017年 Translating English into Propositional Logic
cdmng 2017年 World’s Longest Palindrome
cdmng 2020年 World’s Shortest Portmantout Word
cdmng 2018年 xkcd 1970: Name Dominoes
概率与不确定性
cdmng 2018年 A Concrete Introduction to Probability
cdmng 2016年 Probability, Paradox, and the Reasonable Person Principle
cdmng 2020年 Estimating Probabilities with Simulations
cdmng 2019年 The Devil and the Coin Flip Game
cdmng 2020年 Dice Baseball
cdmng 2018年 Economics Simulation
cdmng 2012年 Poker Hand Ranking
cdmng 2020年 The Unfinished Game …. of Risk
cdmng 2019年 WWW: Who Will Win (NBA Title)?
计算机科学算法与概念
cdmng 2017年 Bad Grade, Good Experience
cdmng 2017年 BASIC Interpreter
cdmng 2017年 Convex Hull Problem
cdmng 2020年 How to Count Things
cdmng 2020年 Stable Matching Problem
cdmng 2017年 Symbolic Algebra, Simplification, and Differentiation
cdmng 2018年 Traveling Salesperson Problem

Python文件索引

文件 描述 文档
beal.py 寻找Beal猜想的反例 documentation
docex.py 用于运行单元测试的过时框架,类似于doctest
ibol.py 物种条形码练习 documentation
lettercount.py 将Google Ngram计数转换为字母计数 documentation
lis.py 用Python编写的LISP解释器 documentation
lispy.py 用Python编写的更好的Lisp解释器 documentation
lispytest.py 关于Lisp口译员的测试
pal.py 查找长回文 documentation
pal2.py 查找较长的回文 documentation
pal3.py 找到更长的回文 documentation
pytudes.py 预处理文本以生成此Readme.md文件
py2html.py Pretty-Printer将Python文件格式化为html
SET.py 分析纸牌游戏套装 documentation
spell.py 拼写校正器 documentation
sudoku.py 解决数独谜题的程序 documentation
testaccum.py 测试我失败的Pythonaccumulation display建议书 documentation
yaptu.py 还有另一个Python模板实用程序

面向程序员的练习课

我有了这个想法“练习曲”这个名字的一部分1978 book通过Charles Wetherell当我第一次学习编程时,这对我产生了很大的影响。我还留着我的那本

Locust-用Python编写的可伸缩用户负载测试工具

Locust是一个易于使用、可编写脚本和可扩展的性能测试工具。您可以使用常规Python代码定义用户的行为,而不是使用笨重的UI或特定于域的语言。这使得Locust具有无限的可扩展性,并且对开发人员非常友好

功能

用普通老式Python编写用户测试场景

如果希望用户循环、执行一些条件行为或进行一些计算,只需使用Python提供的常规编程构造即可。Locust在它自己的greenlet内运行每个用户(一个轻量级进程/协程)。这使您可以像编写普通(阻塞)Python代码一样编写测试,而不必使用回调或其他机制。因为您的场景“仅仅是python”,所以您可以使用常规IDE,并将测试作为常规代码进行版本控制(与使用XML或二进制格式的其他一些工具相反)

from locust import HttpUser, task, between

class QuickstartUser(HttpUser):
    wait_time = between(1, 2)

    def on_start(self):
        self.client.post("/login", json={"username":"foo", "password":"bar"})

    @task
    def hello_world(self):
        self.client.get("/hello")
        self.client.get("/world")

    @task(3)
    def view_item(self):
        for item_id in range(10):
            self.client.get(f"/item?id={item_id}", name="/item")

分布式和可扩展-支持数十万用户

Locust使运行分布在多台机器上的负载测试变得很容易。它是基于事件的(使用gevent),这使得单个进程可以处理数千个并发用户。虽然可能有其他工具能够在给定硬件上每秒执行更多请求,但每个Locust用户的低开销使其非常适合测试高并发工作负载

基于Web的用户界面

Locust有一个用户友好的Web界面,可以实时显示您的测试进度。您甚至可以在测试运行时更改负载。它还可以在没有UI的情况下运行,便于用于CI/CD测试

可以测试任何系统

即使Locust主要与网站/服务一起工作,它也可以用来测试几乎任何系统或协议。只是write a client您想要测试的内容,或者explore some created by the community

可黑客攻击

蝗虫很小,非常灵活,我们打算保持这种状态。如果你想send reporting data to that database & graphing system you like,包装对睡觉api的调用以处理系统的细节或运行totally custom load pattern,没有什么能阻止你!

链接

作者

许可证

根据麻省理工学院许可许可的开放源码(请参阅许可证有关详细信息,请参阅文件)

Ray 一个开放源码框架,为构建分布式应用程序提供简单、通用的API

Ray为构建分布式应用程序提供了简单、通用的API,为构建分布式应用程序提供简单、通用的API。Ray与RLlib(一个可伸缩的强化学习库)和Tune(一个可伸缩的超参数调整库)可以打包在一起。

Ray附带以下库,用于加速机器学习工作负载:

  • Tune:可伸缩的超参数调整
  • RLlib:可扩展强化学习
  • RaySGD:分布式培训包装器
  • Ray Serve:可扩展、可编程的服务

也有很多community integrations和Ray在一起,包括DaskMARSModinHorovodHugging FaceScikit-learn,以及其他。请查看full list of Ray distributed libraries here

使用以下选项安装Ray:pip install ray有关夜间车轮的信息,请参阅Installation page

快速入门

并行执行Python函数

import ray
ray.init()

@ray.remote
def f(x):
    return x * x

futures = [f.remote(i) for i in range(4)]
print(ray.get(futures))

要使用Ray的演员模型,请执行以下操作:

import ray
ray.init()

@ray.remote
class Counter(object):
    def __init__(self):
        self.n = 0

    def increment(self):
        self.n += 1

    def read(self):
        return self.n

counters = [Counter.remote() for i in range(4)]
[c.increment.remote() for c in counters]
futures = [c.read.remote() for c in counters]
print(ray.get(futures))

Ray程序可以在一台计算机上运行,也可以无缝扩展到大型群集。要在云中执行上述Ray脚本,只需下载this configuration file,然后运行:

ray submit [CLUSTER.YAML] example.py --start

阅读有关以下内容的更多信息launching clusters

调整快速入门

Tune是一个用于任何规模的超参数调优的库

要运行此示例,您需要安装以下软件:

$ pip install "ray[tune]"

此示例运行并行格网搜索以优化示例目标函数

from ray import tune


def objective(step, alpha, beta):
    return (0.1 + alpha * step / 100)**(-1) + beta * 0.1


def training_function(config):
    # Hyperparameters
    alpha, beta = config["alpha"], config["beta"]
    for step in range(10):
        # Iterative training function - can be any arbitrary training procedure.
        intermediate_score = objective(step, alpha, beta)
        # Feed the score back back to Tune.
        tune.report(mean_loss=intermediate_score)


analysis = tune.run(
    training_function,
    config={
        "alpha": tune.grid_search([0.001, 0.01, 0.1]),
        "beta": tune.choice([1, 2, 3])
    })

print("Best config: ", analysis.get_best_config(metric="mean_loss", mode="min"))

# Get a dataframe for analyzing trial results.
df = analysis.results_df

如果安装了TensorBoard,则自动可视化所有试验结果:

tensorboard --logdir ~/ray_results

RLlib快速入门

RLlib是构建在Ray之上的用于强化学习的开源库,它为各种应用程序提供了高可伸缩性和统一的API

pip install tensorflow  # or tensorflow-gpu
pip install "ray[rllib]"
import gym
from gym.spaces import Discrete, Box
from ray import tune

class SimpleCorridor(gym.Env):
    def __init__(self, config):
        self.end_pos = config["corridor_length"]
        self.cur_pos = 0
        self.action_space = Discrete(2)
        self.observation_space = Box(0.0, self.end_pos, shape=(1, ))

    def reset(self):
        self.cur_pos = 0
        return [self.cur_pos]

    def step(self, action):
        if action == 0 and self.cur_pos > 0:
            self.cur_pos -= 1
        elif action == 1:
            self.cur_pos += 1
        done = self.cur_pos >= self.end_pos
        return [self.cur_pos], 1 if done else 0, done, {}

tune.run(
    "PPO",
    config={
        "env": SimpleCorridor,
        "num_workers": 4,
        "env_config": {"corridor_length": 5}})

Ray Serve快速入门

Ray Serve是一个构建在Ray之上的可伸缩的模型服务库。它是:

  • 框架不可知性:使用相同的工具包提供各种服务,从使用PyTorch或TensorFlow&Kera等框架构建的深度学习模型到Scikit-Learning模型或任意业务逻辑
  • Python优先:在纯Python中配置声明性服务的模型,不需要YAML或JSON配置
  • 以性能为导向:启用批处理、流水线和GPU加速以提高模型的吞吐量
  • 原生合成:允许您通过将多个模型组合在一起来驱动单个预测来创建“模型管道”
  • 水平可扩展:随着您添加更多的机器,Serve可以线性扩展。使您的ML支持的服务能够处理不断增长的流量

要运行此示例,您需要安装以下软件:

$ pip install scikit-learn
$ pip install "ray[serve]"

此示例Run服务于一个SCRICKIT-LEARN梯度增强分类器

from ray import serve
import pickle
import requests
from sklearn.datasets import load_iris
from sklearn.ensemble import GradientBoostingClassifier

# Train model
iris_dataset = load_iris()
model = GradientBoostingClassifier()
model.fit(iris_dataset["data"], iris_dataset["target"])

# Define Ray Serve model,
class BoostingModel:
    def __init__(self):
        self.model = model
        self.label_list = iris_dataset["target_names"].tolist()

    def __call__(self, flask_request):
        payload = flask_request.json["vector"]
        print("Worker: received flask request with data", payload)

        prediction = self.model.predict([payload])[0]
        human_name = self.label_list[prediction]
        return {"result": human_name}


# Deploy model
client = serve.start()
client.create_backend("iris:v1", BoostingModel)
client.create_endpoint("iris_classifier", backend="iris:v1", route="/iris")

# Query it!
sample_request_input = {"vector": [1.2, 1.0, 1.1, 0.9]}
response = requests.get("http://localhost:8000/iris", json=sample_request_input)
print(response.text)
# Result:
# {
#  "result": "versicolor"
# }

更多信息

较旧的文档:

参与其中

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

ZeroNet 使用比特币加密和BitTorrent网络的去中心化网站

ZeroNet

使用比特币加密和BitTorrent网络的分散网站-https://zeronet.io/onion

为什么?

  • 我们相信开放、自由和不受审查的网络和通信
  • 没有单点故障:只要至少有一个对等点在为站点提供服务,站点就会保持在线
  • 无托管费用:网站由访问者提供服务
  • 无法关闭:它无处不在,因为它无处不在
  • 快速且离线工作:即使互联网不可用,您也可以访问网站

功能

  • 实时更新的站点
  • Namecoin.bit域支持
  • 易于设置:解包并运行
  • 只需单击一次即可克隆网站
  • 无密码BIP32基于授权:您的帐户受与您的比特币钱包相同的加密保护
  • 内置支持P2P数据同步的SQL Server:使站点开发更轻松,页面加载速度更快
  • 匿名性:完全支持ToR网络,支持.onion隐藏服务,而不是IPv4地址
  • TLS加密连接
  • 自动打开UPnP端口
  • 支持多用户(Openproxy)的插件
  • 可与任何浏览器/操作系统配合使用

它怎麽工作?

  • 启动后zeronet.py您将能够使用以下工具访问ZERONET站点http://127.0.0.1:43110/{zeronet_address}(例如http://127.0.0.1:43110/1HeLLo4uzjaLetFx6NH3PMwFP3qbRbTf3D)
  • 当您访问新的zeronet站点时,它会尝试使用BitTorrent网络查找对等点,以便可以下载站点文件(html、css、js)。从他们那里
  • 您还将为每个访问过的站点提供服务
  • 每个站点都包含一个content.json包含sha512散列中的所有其他文件和使用站点私钥生成的签名的文件
  • 如果站点所有者(拥有站点地址的私钥)修改站点,则他/她签署新的content.json并将其发布给同行。之后,对等体验证content.json完整性(使用签名),他们下载修改后的文件并将新内容发布给其他对等点

Slideshow about ZeroNet cryptography, site updates, multi-user sites »

Frequently asked questions »

ZeroNet Developer Documentation »

屏幕截图


More screenshots in ZeroNet docs »

如何加入

窗口

MacOS

Linux(x86-64位)

  • wget https://github.com/HelloZeroNet/ZeroNet-linux/archive/dist-linux64/ZeroNet-py3-linux64.tar.gz
  • tar xvpfz ZeroNet-py3-linux64.tar.gz
  • cd ZeroNet-linux-dist-linux64/
  • 从以下内容开始:./ZeroNet.sh
  • 导航到以下位置,在浏览器中打开ZeroHello登录页:http://127.0.0.1:43110/

提示:开始于./ZeroNet.sh --ui_ip '*' --ui_restrict your.ip.address要在Web界面上允许远程连接,请执行以下操作

Android(ARM、ARM 64、x86)

码头工人

有一个官方形象,从源头上构建,地址是:https://hub.docker.com/r/nofish/zeronet/

从源安装

  • wget https://github.com/HelloZeroNet/ZeroNet/archive/py3/ZeroNet-py3.tar.gz
  • tar xvpfz ZeroNet-py3.tar.gz
  • cd ZeroNet-py3
  • sudo apt-get update
  • sudo apt-get install python3-pip
  • sudo python3 -m pip install -r requirements.txt
  • 从以下内容开始:python3 zeronet.py
  • 导航到以下位置,在浏览器中打开ZeroHello登录页:http://127.0.0.1:43110/

当前限制

  • 没有类似激流的文件拆分功能来支持大文件(添加了大文件支持)
  • 不比BitTorrent更匿名(添加了内置完全ToR支持)
  • 未压缩文件事务或尚未加密(添加了TLS加密)
  • 没有私人网站

我如何创建一个ZeroNet站点?

  • 单击>创建新的空站点网站上的菜单项ZeroHello
  • 你会成为重定向一个只能由您修改的全新站点!
  • 您可以在中查找和修改站点内容数据/[您的网站地址]目录
  • 修改打开站点后,向左拖动右上角的“0”按钮,然后按签名发布底部的按钮

下一步:ZeroNet Developer Documentation

帮助保持此项目的活力

赞助商

谢谢!

CNTK-微软认知工具包(CNTK),一个开源的深度学习工具包

CNTK

聊天 Windows生成状态 Linux构建状态

Microsoft认知工具包(https://cntk.ai)是一个统一的深度学习工具包,它通过有向图将神经网络描述为一系列计算步骤。在这个有向图中,叶节点表示输入值或网络参数,而其他节点表示对其输入的矩阵运算。CNTK允许用户轻松地实现和组合流行的模型类型,例如前馈DNN、卷积网络(CNN)和递归网络(RNNs/LSTM)。它通过跨多个GPU和服务器的自动区分和并行化实现随机梯度下降(SGD,误差反向传播)学习。自2015年4月以来,CNTK一直在开源许可证下提供。我们希望社区能够利用CNTK的优势,通过开放源码工作代码的交流,更快地分享想法

安装

安装夜间软件包

如果您更喜欢使用MASTER的最新CNTK位,请使用CNTK夜间软件包之一:

学习CNTK

您可以通过以下资源了解更多关于使用和贡献CNTK的信息:

更多信息

免责声明

亲爱的社区:

随着我们对ONNX和ONNX Runtime的持续贡献,我们已经使AI框架生态系统内的互操作变得更容易,并为传统ML模型和深度神经网络访问高性能的跨平台推理功能。在过去的几年里,我们有幸开发了这样的关键开源机器学习项目,包括Microsoft Cognitive Toolkit,它使其用户能够利用整个行业在大规模深度学习方面的进步

今天的2.7版本将是CNTK的最后一个主要版本。我们可能会有一些后续的小版本来修复错误,但这些版本将根据具体情况进行评估。此版本之后没有开发新功能的计划

CNTK 2.7版本完全支持ONNX 1.4.1,我们鼓励那些寻求将其CNTK模型运行化的用户利用ONNX和ONNX Runtime。展望未来,用户可以通过众多支持ONNX的框架继续利用不断发展的ONNX创新。例如,用户可以从PyTorch本机导出ONNX模型,或使用TensorFlow-ONNX转换器将TensorFlow模型转换为ONNX

我们非常感谢自CNTK最初开放源码发布以来多年来我们从贡献者和用户那里得到的所有支持。CNTK使微软团队和外部用户都能够在各种深度学习应用程序中执行复杂而大规模的工作负载,例如该框架的创始人微软语音研究人员在语音识别方面取得的历史性突破

随着ONNX越来越多地被用于为Bing和Office等微软产品提供服务的模型,我们致力于将研究创新与生产的严格要求相结合,以推动生态系统向前发展

最重要的是,我们的目标是使跨软件和硬件堆栈的深度学习创新尽可能开放和可访问。我们将努力将CNTK的现有优势和最新的最新研究成果应用到其他开源项目中,以真正扩大此类技术的应用范围。

怀着感激之情,

–CNTK团队

Microsoft开放源代码行为准则

本项目采用了Microsoft Open Source Code of Conduct有关更多信息,请参阅Code of Conduct FAQ或联系方式opencode@microsoft.com如有任何其他问题或评论

新闻

您可以在以下网站上找到更多新闻the official project feed

2019-03-29CNTK 2.7.0

此版本的亮点

  • 已迁移到适用于Windows和Linux的CUDA 10
  • 在ONNX导出中支持高级RNN环路
  • 以ONNX格式导出大于2 GB的型号
  • 在大脑脚本训练动作中支持FP16

支持CUDA 10的CNTK

CNTK现在支持CUDA 10。这需要更新到Visual Studio 2017 v15.9 for Windows的构建环境

要在Windows上设置生成和运行时环境,请执行以下操作:

要使用docker在Linux上设置构建和运行时环境,请使用Dockerfiles构建Unbuntu 16.04坞站映像here对于其他Linux系统,请参考Dockerfile来设置CNTK的依赖库

在ONNX导出中支持高级RNN环路

带有递归循环的CNTK模型可以通过扫描操作导出到ONNX模型

以ONNX格式导出大于2 GB的型号

要以ONNX格式导出大于2 GB的模型,可使用cntk.Function API:Save(Self,FileName,Format=ModelFormat.CNTKv2,USE_EXTERNAL_FILES_TO_STORE_PARAMETERS=FALSE),并将‘Format’设置为ModelFormat.ONNX,将Use_External_Files_to_Store_Parameters设置为True。在这种情况下,模型参数保存在外部文件中。使用onnxrun进行模型评估时,导出的模型应与外部参数文件一起使用

2018/11/26
Netron现在支持可视化CNTK v1和CNTK v2.model文件

项目变更日志

2018-09-17CNTK 2.6.0

高效群卷积

对CNTK中的分组卷积实现进行了更新。更新后的实现不再创建分组卷积的子图(使用切片和拼接),而是直接使用cuDNN7和MKL2017API。这在性能和型号大小方面都改善了体验

例如,对于具有以下属性的单个组卷积OP:

  • 输入张量(C,H,W)=(32,128,128)
  • 输出通道数=32(通道倍增为1)
  • 组=32(深度卷积)
  • 内核大小=(5,5)

此单个节点的比较编号如下:

第一个标题 GPU EXEC。时间(单位为毫秒,平均运行1000次) CPU EXEC。时间(单位为毫秒,平均运行1000次) 模型大小(KB,CNTK格式)
旧实施 9.349 41.921 38
新实施 6.581 9.963 5个
加速/节约近似值 30%近似 65-75%近似 87%

顺序卷积

更新了CNTK中序列卷积的实现。更新后的实现创建单独的顺序卷积层。与规则卷积层不同,该操作还在动态轴(序列)上进行卷积,并将过滤_Shape[0]应用于该轴。更新后的实现支持更广泛的情况,例如序列轴的跨度>1

例如,对一批单通道黑白图像进行顺序卷积。这些图像的高度相同,固定为640,但每个图像的宽度都是可变的。然后,宽度由顺序轴表示。启用填充,宽度和高度的步长均为2

操作员

深度到空间和空间到深度

有一个突破性的变化,那就是深度到空间空间到深度操作员。这些已经更新,以符合ONNX规范,特别是深度维度在空间维度中作为块放置的排列方式,反之亦然。请参考这两个操作的更新文档示例以查看更改

谭恩美和阿坦

添加了对三角运算的支持TanAtan

ELU

添加了对以下各项的支持alphaELU操作中的属性

卷积

更新的自动填充算法Convolution在不影响最终卷积输出值的情况下,在CPU上尽最大努力产生对称填充。此更新增加了MKL API可以覆盖的案例范围,并提高了性能,例如ResNet50

默认参数顺序

有一个突破性的变化,那就是论据属性。默认行为已更新,以Python顺序而不是C++顺序返回参数。这样,它将以与输入到操作中相同的顺序返回参数。如果您仍然希望以C++顺序获取参数,只需覆盖全局选项即可。此更改应仅影响以下操作:Times、TransposeTimes和Gemm(内部)

错误修复

  • 已更新卷积图层的文档,以包括组参数和膨胀参数
  • 添加了改进的分组卷积输入验证
  • 已更新LogSoftMax要使用更稳定的数值实现,请执行以下操作
  • 修复了聚集OP的错误渐变值
  • 添加了对python克隆替换中的“None”节点的验证
  • 添加了卷积中填充通道轴的验证
  • 添加了CNTK本机默认lotusIR记录器,以修复加载某些ONNX型号时出现的“尝试使用DefaultLogger”错误
  • 添加了ONNX TypeStrToProtoMap的正确初始化
  • 更新了python doctest,以处理较新版本号(Version>=1.14)的不同打印格式
  • 当内核中心位于填充的输入单元上时,固定池(CPU)可生成正确的输出值

ONNX

更新

  • 更新了CNTK的ONNX导入/导出以使用ONNX 1.2规范
  • 对如何在导出和导入中处理批次和序列轴进行了重大更新。因此,可以准确地处理复杂场景和边缘情况
  • 更新了CNTK的ONNXBatchNormalizationOP导出/导入到最新规范
  • 将模型域添加到ONNX模型导出
  • 改进了ONNX型号导入和导出期间的错误报告
  • 已更新DepthToSpaceSpaceToDepth操作以匹配ONNX关于如何将深度维度放置为挡路维度的排列规范
  • 添加了对导出的支持alpha中的属性ELUONNX操作
  • 大修是为了ConvolutionPooling导出。与以前不同的是,这些操作不会导出显式Pad在任何情况下都可操作
  • 大修是为了ConvolutionTranspose导出和导入。属性,如output_shapeoutput_padding,以及pads完全支持
  • 添加了对CNTK的支持StopGradient作为一个禁区
  • 添加了对TOPK操作的ONNX支持
  • 添加了对序列操作的ONNX支持:Sequence.Slice、Sequence.first、Sequence.last、Sequence.duce_sum、Sequence.Reduce_max、Sequence.softmax。对于这些操作,不需要扩展ONNX规范。CNTK ONNX Exporter仅为这些序列操作构建计算等效图
  • 添加了对Softmax操作的完全支持
  • 使CNTK广播运营与ONNX规范兼容
  • 在CNTK ONNX导出器中处理TO_BATCH、TO_SEQUENCE、UNPACK_BATCH、Sequence.Unpack工序
  • 用于导出ONNX测试用例以供其他工具箱运行和验证的ONNX测试
  • 固定的Hardmax/Softmax/LogSoftmax导入/导出
  • 添加了对以下各项的支持SelectOP导出
  • 添加了对多个三角运算的导入/导出支持
  • 更新了对ONNX的CNTK支持MatMul操作
  • 更新了对ONNX的CNTK支持Gemm操作
  • 更新了CNTK的ONNXMeanVarianceNormalizationOP导出/导入到最新规范
  • 更新了CNTK的ONNXLayerNormalizationOP导出/导入到最新规范
  • 更新了CNTK的ONNXPReluOP导出/导入到最新规范
  • 更新了CNTK的ONNXGatherOP导出/导入到最新规范
  • 更新了CNTK的ONNXImageScalerOP导出/导入到最新规范
  • 更新了CNTK的ONNXReduce操作导出/导入到最新规范
  • 更新了CNTK的ONNXFlattenOP导出/导入到最新规范
  • 添加了对ONNX的CNTK支持Unsqueeze操作

错误或次要修复:

  • 更新了LRN OP以匹配ONNX 1.2规范,其中size属性具有直径的语义,而不是半径的语义。添加了LRN内核大小大于通道大小时的验证
  • 已更新Min/Max导入实现以处理各种输入
  • 修复了在现有ONNX模型文件上重新保存时可能出现的文件损坏

网络支持

Cntk.Core.Managed库已正式转换为.Net标准,并在Windows和Linux上支持.Net Core和.Net Framework应用程序。从这个版本开始,.NET开发人员应该能够使用新的.Net SDK样式项目文件(包管理格式设置为PackageReference)恢复CNTK Nuget包

下面的C#代码现在可以在Windows和Linux上运行:

例如,只需在.Net Core应用程序的.csproj文件中添加ItemGroup子句就足够了:>netcoreapp2.1>x64>

错误或次要修复:

  • 修复了Linux上C#string和char到本机wstring和wchar UTF转换的问题
  • 修复了代码库中的多字节和宽字符转换
  • 修复了针对.Net标准打包的Nuget包机制
  • 修复了C#API中值类中的内存泄漏问题,其中在对象销毁时不调用Dispose

杂项

2018-04-16CNTK 2.5.1

使用捆绑包中包含的第三方库(Python轮包)重新打包CNTK 2.5


2018-03-15CNTK 2.5

将探查器详细信息输出格式更改为chrome://tracing

启用逐节点计时。工作示例here

  • 启用探查器时,按节点计时会在探查器详细信息中创建项目
  • Python中的用法:
import cntk as C C.debugging.debug.set_node_timing(True) C.debugging.start_profiler() # optional C.debugging.enable_profiler() # optional #<trainer|evaluator|function> executions <trainer|evaluator|function>.print_node_timing() C.debugging.stop_profiler()

中的Profiler详细信息视图示例chrome://tracing

使用MKL提高CPU推理性能

  • 加速用于Float32的英特尔CPU推理中的一些常见张量运算,特别是对于完全连接的网络
  • 可以通过以下方式打开/关闭cntk.cntk_py.enable_cpueval_optimization()/cntk.cntk_py.disable_cpueval_optimization()

1BitSGD并入CNTK

  • 1BitSGD源代码现已随CNTK许可证(MIT许可证)一起在以下位置提供Source/1BitSGD/
  • 1bitsgd生成目标已合并到现有GPU目标中

新的损耗函数:分层Softmax

  • 感谢@耀诚记的贡献!

具有多个学习者的分布式培训

操作员

  • 已添加MeanVarianceNormalization操作员

错误修复

  • 修复了教程201b中的收敛问题
  • 固定的合用/解合,以支持序列的自由维度
  • 修复了中的崩溃CNTKBinaryFormat跨越扫描边界时的反序列化程序
  • 修正了RNN阶跃函数在标量广播中的形状推断错误
  • 修复了在以下情况下的构建错误mpi=no
  • 通过提高打包阈值和暴露V2中的旋钮来提高分布式训练聚合速度
  • 修复了MKL布局中的内存泄漏
  • 修复了中的错误cntk.convertAPI Inmisc.converter.py,这样可以防止将复杂的网络

ONNX

  • 更新
    • CNTK导出的ONNX型号现在ONNX.checker合规
    • 添加了对CNTK的ONNX支持OptimizedRNNStack操作员(仅限LSTM)
    • 添加了对LSTM和GRU运算符的支持
    • 添加了对实验性ONNX操作的支持MeanVarianceNormalization
    • 添加了对实验性ONNX操作的支持Identity
    • 添加了对导出CNTK的支持LayerNormalization使用ONNX的图层MeanVarianceNormalization操作
  • 错误或次要修复:
    • 轴属性在CNTK的ONNX中是可选的Concat操作员
    • 修复标量ONNX广播中的错误
    • 修复ONNX ConvTranspose运算符中的错误
    • 修复向后兼容性错误LeakyReLu(参数“alpha”恢复为双精度类型)

杂项

  • 添加了新的接口find_by_uid()在……下面cntk.logging.graph

2018-02-28CNTK支持夜间构建

如果您更喜欢使用MASTER提供的最新CNTK位,请使用CNTK夜间软件包之一

或者,您也可以单击相应的构建标记以登录到夜间构建页面


2018-01-31CNTK 2.4

亮点:

  • 已移至CUDA9、cuDNN 7和Visual Studio 2017
  • 删除了Python 3.4支持
  • 添加了Volta GPU和FP16支持
  • 更好的ONNX支持
  • CPU性能改进
  • 更多运营

运营部

  • top_k操作:在正向传递中,它计算沿指定轴的顶部(最大)k值和相应的索引。在后向传递中,梯度分散到顶部k个元素(不在顶部k中的元素获得零梯度)
  • gather操作现在支持轴参数
  • squeezeexpand_dims轻松移除和添加单一轴的操作
  • zeros_likeones_like运营部。在许多情况下,您可以仅仅依靠CNTK正确地广播一个简单的0或1,但有时您需要实际的张量
  • depth_to_space:将输入张量中的元素从深度维度重新排列到空间块中。此操作的典型用法是实现某些图像超分辨率模型的亚像素卷积
  • space_to_depth:将输入张量中的元素从空间维度重新排列到深度维度。它在很大程度上与DepthToSpace相反
  • sum操作:创建计算输入张量的元素求和的新函数实例
  • softsign操作:创建计算输入张量的元素软符号的新函数实例
  • asinh操作:创建一个新的函数实例,该实例计算输入张量的逐个元素的asinh
  • log_softmax操作:创建计算输入张量的logsoftmax规格化值的新函数实例
  • hard_sigmoid操作:创建计算输入张量的hard_sigmoid归一化值的新函数实例
  • element_andelement_notelement_orelement_xor基于元素的逻辑运算
  • reduce_l1操作:沿提供的轴计算输入张量元素的L1范数
  • reduce_l2操作:沿提供的轴计算输入张量元素的L2范数
  • reduce_sum_square操作:沿提供的轴计算输入张量元素的平方和
  • image_scaler操作:通过缩放图像的各个值来更改图像

ONNX

  • CNTK中对ONNX支持进行了多项改进
  • 更新
    • 更新的ONNXReshape要处理的操作InferredDimension
    • 添加producer_nameproducer_versionONNX模型的字段
    • 在两个都不是的情况下处理案件auto_pad也不是pads属性在ONNX中指定Conv操作
  • 错误修复
    • 修复了ONNX中的错误PoolingOP序列化
    • 修复错误以创建ONNXInputVariable只有一个批次轴
    • 对ONNX实施的错误修复和更新Transpose操作以匹配更新的规范
    • 对ONNX实施的错误修复和更新ConvConvTranspose,以及Pooling操作以匹配更新的规范

操作员

  • 群卷积
    • 修复了组卷积中的错误。CNTK的输出ConvolutionOP将针对>1的组进行更改。预计在下一版本中将对组卷积进行更优化的实施
    • 更好的分组卷积错误报告Convolution图层

卤化物二元卷积

  • CNTK版本现在可以使用可选Halide要构建的库Cntk.BinaryConvolution.so/dll库,该库可以与netopt模块。该库包含优化的二进制卷积操作符,其性能优于基于Python的二进制卷积操作符。要在内部版本中启用Halide,请下载Halide release并将其设置为HALIDE_PATH开始构建之前的环境变量。在Linux中,您可以使用./configure --with-halide[=directory]来启用它。有关如何使用此功能的详细信息,请参阅How_to_use_network_optimization

有关更多信息,请参阅Release NotesCNTK Releases page

Celery-分布式任务队列(开发分支)

版本: 5.1.2(太阳谐波)
网站: https://docs.celeryproject.org/en/stable/index.html
下载: https://pypi.org/project/celery/
来源: https://github.com/celery/celery/
关键词: 任务、队列、作业、异步、rabbitmq、amqp、redis、python、分布式、参与者

捐款

这项工程有赖于你的慷慨捐助。

如果您正在使用celery创建商业产品,请考虑成为我们的backer或者我们的sponsor确保celery的未来

对于企业而言

作为Tidelift订阅的一部分提供

的维护人员celery数以千计的其他软件包正在与Tidelift合作,为您用来构建应用程序的开源依赖项提供商业支持和维护。节省时间、降低风险并提高代码的健全性,同时付钱给您使用的确切依赖项的维护人员。Learn more.

什么是任务队列?

任务队列用作跨线程或计算机分配工作的机制

任务队列的输入是一个工作单元,称为任务,专用的工作进程然后不断地监视队列以查找要执行的新工作

celery通过消息进行通信,通常使用经纪人在客户和工人之间进行调解。为了启动任务,客户端将消息放到队列中,然后代理将消息传递给工作器

celery系统可以由多个工作进程和代理组成,为高可用性和水平扩展让路。

celery是用Python编写的,但是协议可以用任何语言实现。除了Python,还有node-celery对于Node.js,一个PHP clientgocelery对于戈朗,还有rusty-celery对于生锈

语言互操作性也可以通过使用WebHook来实现,其方式是客户端将工作人员请求的URL入队

我需要什么?

celery5.1.2版运行在

  • Python(3.6、3.7、3.8、3.9)
  • Pypy3.6(7.6)

这是下一版本的celery,将支持Python 3.6或更高版本

如果您运行的是较旧版本的Python,则需要运行较旧版本的celery:

  • Python 2.6:celery系列3.1或更早版本
  • Python 2.5:celery系列3.0或更早版本
  • Python 2.4:celery系列2.2或更早版本
  • Python 2.7:celery4.x系列

celery是一个资金最少的项目,所以我们不支持Microsoft Windows。请不要打开任何与该平台相关的问题

celery通常与message broker一起使用来发送和接收消息。RabbitMQ、Redis传输功能齐全,但也有对无数其他解决方案的实验支持,包括使用SQLite进行本地开发

celery可以在单台计算机、多台计算机甚至跨数据中心运行

开始使用

如果这是您第一次尝试使用celery,或者您是以前版本的celery5.0.5或5.1.2的新手,那么您应该阅读我们的入门教程:

您还可以通过使用托管代理传输CloudAMQP开始使用celery。RabbitMQ最大的主机提供商是celery的骄傲赞助商

celery是

  • 简单

    celery很容易使用和维护,而且确实不需要配置文件

    它有一个活跃、友好的社区,您可以与之交谈以寻求支持,例如在我们的mailing-list,或IRC通道

    下面是您可以制作的最简单的应用程序之一:

    from celery import Celery
    
    app = Celery('hello', broker='amqp://guest@localhost//')
    
    @app.task
    def hello():
        return 'hello world'
  • 高可用性

    在连接丢失或故障的情况下,工作人员和客户端将自动重试,一些代理通过以下方式支持HA主要/主要主/复制副本复制

  • 快地

    单个celery进程一分钟可以处理数百万个任务,往返延迟为亚毫秒级(使用RabbitMQ、py-librabbitmq和优化设置)

  • 灵活性

    几乎每一个地方celery可以自己扩展或使用,定制池实现、序列化程序、压缩方案、日志记录、调度程序、使用者、生产者、代理传输等等

它支持

  • 消息传输
  • 并发性
  • 结果商店
    • AMQP,Redis
    • memcached
    • SQL炼金术,Django ORM
    • Apache Cassandra、IronCache、Elasticsearch
  • 序列化
    • 泡菜JSONYAML消息包
    • zlibbzip2压缩
    • 加密消息签名

框架集成

celery很容易与web框架集成,其中一些框架甚至有集成包:

Django 不需要
Pyramid pyramid_celery
Pylons celery-pylons
Flask 不需要
web2py web2py-celery
Tornado tornado-celery

集成包并不是严格必需的,但是它们可以简化开发,有时它们还会添加重要的挂钩,比如在以下位置关闭数据库连接fork

文档

这个latest documentation托管在Read the Docs上,包含用户指南、教程和API参考

最新的中文文档托管在https://www.celerycn.io/中,包含用户指南、教程、接口接口等。

安装

您可以通过Python包索引(PyPI)或从源代码安装celery

要使用安装,请执行以下操作pip

$ pip install -U Celery

捆绑包

celery还定义了一组可用于安装celery的捆绑包以及给定功能的依赖项

您可以在需求中或在pip命令行中使用方括号。可以通过逗号分隔多个捆绑包来指定它们

$ pip install "celery[librabbitmq]"

$ pip install "celery[librabbitmq,redis,auth,msgpack]"

以下捆绑包可用:

序列化程序

celery[auth] 用于使用auth安全序列化程序
celery[msgpack] 用于使用msgpack序列化程序
celery[yaml] 用于使用YAML序列化程序

并发性

celery[eventlet] 用于使用eventlet游泳池
celery[gevent] 用于使用gevent游泳池

传输和后端

celery[librabbitmq] 用于使用librabbitmq C库
celery[redis] 将Redis用作消息传输或作为结果的后端
celery[sqs] 使用Amazon SQS作为消息传输
celery[tblib]: 用于使用task_remote_tracebacks功能
celery[memcache] 用于将memcached用作结果后端(使用pylibmc)
celery[pymemcache] 用于将memcached用作结果后端(纯Python实现)
celery[cassandra] 用于将Apache Cassandra用作DataStAX驱动程序的结果后端
celery[azureblockblob] 使用Azure Storage作为结果后端(使用azure-storage)
celery[s3] 使用S3存储作为结果后端
celery[couchbase] 将Couchbase用作结果后端
celery[arangodb] 使用ArangoDB作为结果后端
celery[elasticsearch] 用于将Elasticsearch用作结果后端
celery[riak] 使用Riak作为结果后端
celery[cosmosdbsql] 使用Azure Cosmos DB作为结果后端(使用pydocumentdb)
celery[zookeeper] 用于将ZooKeeper用作消息传输
celery[sqlalchemy] 使用SQLAlChemy作为结果后端(支持)
celery[pyro] 为了使用Pyro4消息传输(实验性的)
celery[slmq] 为了使用SoftLayer消息队列传输(实验性的)
celery[consul] 用于将Consul.io密钥/值存储用作消息传输或结果后端(实验性的)
celery[django] 指定Django支持的可能最低版本

您可能不应该在您的需求中使用它,它在这里仅供参考

从源下载并安装

从PyPI下载最新版本的celery:

https://pypi.org/project/celery/

您可以通过执行以下操作来安装它:

$ tar xvfz celery-0.0.0.tar.gz
$ cd celery-0.0.0
$ python setup.py build
# python setup.py install

如果您当前未使用虚拟环境,则必须以特权用户身份执行最后一个命令

使用开发版本

带管道

celery开发版本还需要kombuamqpbilliard,以及vine

您可以使用以下pip命令安装这些快照的最新版本:

$ pip install https://github.com/celery/celery/zipball/master#egg=celery
$ pip install https://github.com/celery/billiard/zipball/master#egg=billiard
$ pip install https://github.com/celery/py-amqp/zipball/master#egg=amqp
$ pip install https://github.com/celery/kombu/zipball/master#egg=kombu
$ pip install https://github.com/celery/vine/zipball/master#egg=vine

使用GIT

请参阅投稿部分

获取帮助

邮件列表

有关celery的用途、发展和未来的讨论,请加入celery-users邮件列表

IRC

来和我们在IRC上聊天吧。这个#celery频道位于Freenode网络

漏洞跟踪器

如果您有任何建议、错误报告或烦恼,请将它们报告给我们的问题跟踪器,地址为https://github.com/celery/celery/issues/

维基

https://github.com/celery/celery/wiki

学分

贡献者

这个项目的存在要归功于所有做出贡献的人。celery的开发发生在GitHub:https://github.com/celery/celery

我们非常鼓励您参与celery的开发。如果您不喜欢GitHub(出于某种原因),欢迎您发送常规补丁

请务必同时阅读Contributing to Celery部分,请参阅文档中的

支持者

感谢我们所有的支持者!🙏[Become a backer]

赞助商

通过成为赞助商来支持这个项目。您的徽标将在此处显示,并带有指向您的网站的链接。[Become a sponsor]


许可证

此软件在新的BSD许可证下获得许可。请参阅LICENSE完整许可证文本的顶级分发目录中的文件

有趣好用的Python教程

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