帮酷LOGO
  • 显示原文与译文双语对照的内容
A template for scikit-learn extensions

  • 源代码名称:project-template
  • 源代码网址:http://www.github.com/scikit-learn-contrib/project-template
  • project-template源代码文档
  • project-template源代码下载
  • Git URL:
    git://www.github.com/scikit-learn-contrib/project-template.git
  • Git Clone代码到本地:
    git clone http://www.github.com/scikit-learn-contrib/project-template
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/scikit-learn-contrib/project-template
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • 项目模板- scikit学习扩展模板

    Travis StatusCoveralls StatusCircleCI Status

    项目模板scikit的一个模板项目,学习兼容的扩展。

    可以以帮助scikit学习管道和( hyper ) 参数搜索,同时帮助测试( 。包括一些API合规性) 。文档。开源开发。包装和 持续集成 。

    重要链接

    HTML文档- http://contrib.scikit-learn.org/project-template/

    安装和使用

    包本身带有一个 MODULE 和一个估计量。 在安装 MODULE 之前,你需要 numpyscipy 。 要安装 MODULE 执行:

    $ python setup.py install

    或者

    pip install sklearn-template

    如果安装成功且 scikit-learn 安装正确,你应该能够在 python 中执行以下操作:

    >>>from skltemplate import TemplateEstimator>>> estimator = TemplateEstimator()>>> estimator.fit(np.arange(10).reshape(10, 1), np.arange(10))

    TemplateEstimator 本身没有什么用处,但是它作为其他估算器应该如何编写的例子。 它还带有 template/tests 下自己的单元测试,可以使用 nosetests 运行它。

    创建你自己的库

    1克隆

    通过执行以下命令将项目克隆到计算机中

    $ git clone https://github.com/scikit-learn-contrib/project-template.git

    你应该将 project-template 文件夹重命名为项目的NAME 。 要在Github上托管项目,请访问 https://github.com/new 插件并创建一个新的存储库。 要在Github上上传项目,请执行

    $ git remote set-url origin https://github.com/username/project-name.git
    $ git push origin master

    2修改源

    尽管可以随意修改源代码,但是至少,所有的估算器都应该通过 check_estimator 测试,以使它的能够兼容。 ( 如果有有效原因,你的估计器不能通过 check_estimator,请在scikit处提出问题,以便我们可以使 check_estimator 更灵活。)

    这里模板对于发布不符合核心scikit学习包( 请参见常见问题解答。)的标准的开放源码版本特别有用。 然而,使用这个模板也可能是在核心包中最终包含的踏脚石。

    无论如何,开发人员应该努力遵循的scikit学习指南,这将促进使用:

    3修改文档

    文档是使用 sphinx 构建的。 它从 doc/ 目录。examples/ 目录的独立示例和从估计器文件编译的API引用集成了描述文档。

    要在本地生成文档,请确保通过执行 sphinxsphinx-gallerymatplotlib:

    $ pip install sphinx matplotlib sphinx-gallery

    文档包含主页( doc/index.rst ) 。API文档页面( doc/api.rst ) 和一个记录 template MODULE ( doc/template.rst )的页面。 Sphinx允许你使用 autodoc 指令( 查看 template.rst ) 自动记录你的模块和类。 若要更改文档和其他paramteres的asthetics,请编辑 doc/conf.py 文件。 有关更多信息,请访问文档

    你还可以在 examples 文件夹中添加代码示例。 在 inside 文件中,将执行表单 plot_*.py 文件夹,并且它们生成的图将可以在 /auto_examples URL中查看。

    在本地生成文档的步骤

    $ cd doc
    $ make html

    4设置 Travis CI

    允许你从Github持续构建和测试代码,以确保不会发生任何代码中断更改。 注册和 authourize TravisCI之后,将新存储库添加到TravisCI中,以便它可以开始构建它。 travis.yml 包含了Travis构建项目所需的配置。 你必须用你的MODULE NAME的更新变量 MODULE 来测试它。 在TravisCI上添加项目之后,所有后续的pushes都将触发Travis构建。 默认情况下,项目在 python 2.7和 python 3.5上进行测试。

    5设置 Coveralls

    Coveralls each每个推送的测试代码覆盖率统计信息。 注册Coveralls并添加存储库以便Coveralls可以开始监视它。 项目已经包含Coveralls要工作的必需配置。 添加项目之后的所有后续生成都将生成覆盖率报告。

    6设置 Appveyor

    Appveyor 在 Windows 平台上提供持续集成。 目前,Appveyor还可以用于构建平台特定的Windows 轮,可以以上传到云服务提供商,并通过内容传递网络( CDN ) 。 要设置Appveyor以构建项目,你需要在Appveyor上注册并授权它。 Appveyor configaration由 appveyor.yml 文件控制。 你必须将以下变量更改为 MATCH,以便对项目的要求进行更改。

    可变值
    PROJECT_NAME你的项目的NAME 。 这应该与 setup.py 中的name 字段相同
    MODULE要测试的MODULE的NAME
    CLOUD_STORAGE指示要使用哪个云存储服务提供程序的常数。 它应该是支持的提供程序中的一个。
    CLOUD_CONTAINER存储在云存储服务提供商的容器的NAME,其中生成的文件将被上载。
    WHEELHOUSE_UPLOADER_USERNAME你使用云存储procider进行 register的用户名
    WHEELHOUSE_UPLOADER_SECRET你从云存储提供商获得的API密钥,它将认证你将文件上传到它。 这应该不会以纯文本形式存储 要使Appveyor加密API密钥,请使用Appveyor加密工具的,并使用 secure: 前缀存储返回的值。

    官方 scikit的维护者学习贡献库可以从scikit学习开发人员请求 [Rackspace] ( https://mycloud.rackspace.com/ ) 凭证。

    7设置圆 CI

    项目使用 CircleCI插件从分支构建它的文档,并使用Github页面( ) 来托管它。 同样,你需要注册并授权 CircleCI 。 CircleCI的配置由 circle.yml 文件控制,如果你想要在你自己的网站上安装文档,则需要 mofified 。 要更改的值为

    可变值
    USERNAME存储项目和文档的存储库的用户或者组织的NAME
    DOC_REPO将在其中承载文档的存储库。 这可能与项目存储库相同
    DOC_URL将在其中承载文档的relative URL
    EMAIL在推文档时使用的电子邮件 id,这可以是任何有效的电子邮件地址

    除这里之外,你还需要授予对CircleCI计算机的访问权限才能推送到你的文档存储库。 为此,请访问CircleCI中项目的项目设置页。 选择 Checkout SSH keys 选项,然后选择 Create and add user key 选项。这应该授予CircleCI权限推送到存储库 https://github.com/USERNAME/DOC_REPO/

    如果一切顺利,你应该能够访问你的项目的文档

    https://github.com/USERNAME/DOC_REPO/DOC_URL

    8添加徽章

    按照说明将 Travis徽章Coveralls徽章和CircleCI徽章添加到你的仓库的README

    9.广告你的软件包

    一旦你的工作足够成熟,让通用 public 能够使用它,你应该提交一个请求请求来修改 scikit,了解相关项目清单( 。 请插入你的项目的简要描述和指向它的代码库或者PyPI页面的链接。 你可能还希望在 scikit-learn-general 邮件列表中宣布你的工作。

    10将软件包上载到 PyPI

    将你的软件包上传到 PyPI 允许用户通过 pip 安装你的软件包。 python 提供了两个用于上传软件包的知识库。 这个测试用例库将在发布之前用于测试包,并在它的发布之前使用 PyPI存储库,你可以在其中释放你的发布。 你需要同时使用两个站点的用户名和密码。 这两个站点的用户名和密码不需要是相同的。 要通过 命令行 上传包,需要将用户名和密码存储在 $HOME 目录中的名为 .pypirc的文件中,以下格式。

    [distutils]
    index-servers =
     pypi
     pypitest
    [pypi]
    repository=https://pypi.python.org/pypi
    username=<your-pypi-username>password=<your-pypi-passowrd>[pypitest]
    repository=https://testpypi.python.org/pypi
    username=<your-pypitest-username>password=<your-pypitest-passowrd>

    确保 setup.py 中的所有详细信息都是最新的。 要将软件包上载到测试服务器,执行:

    python setup.py register -r pypitest
    python setup.py sdist upload -r pypitest

    你的软件包现在应该可以看到: https://testpypi.python.org/pypi

    要从测试服务器安装软件包,执行:

    pip install -i https://testpypi.python.org/pypi <package-name>

    Similary,将你的软件包上载到PyPI服务器执行

    python setup.py register -r pypi
    python setup.py sdist upload -r pypi

    要安装你的软件包,执行:

    pip install <package-name>

    感谢你干净地为scikit学习生态系统提供帮助




    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语