Deep learning 如何在Julia中创建一个包并将其开源?

Deep learning 如何在Julia中创建一个包并将其开源?,deep-learning,julia,Deep Learning,Julia,我不是一名专业程序员,但我想创建一个称为神经样条流的小型Julia机器学习包。这些网络是可逆神经网络,主要用于使用蒙特卡罗方法估计积分。我想用这个软件包作为我的科学简历。这些模型基本上是使用通量或Knet创建的。 但问题是我对自己的工作不满意。我的代码很难看,看起来不像专业程序员编写的代码。 在创建软件包之前,我是否应该重点学习Julia的一些高级方面?我不想浪费时间。Julia自带了自己的包管理器调用Pkg。该文档将引导您完成从从头开始包到添加测试并在通用注册表中注册包的所有步骤(这将允许其他

我不是一名专业程序员,但我想创建一个称为神经样条流的小型Julia机器学习包。这些网络是可逆神经网络,主要用于使用蒙特卡罗方法估计积分。我想用这个软件包作为我的科学简历。这些模型基本上是使用通量或Knet创建的。 但问题是我对自己的工作不满意。我的代码很难看,看起来不像专业程序员编写的代码。
在创建软件包之前,我是否应该重点学习Julia的一些高级方面?我不想浪费时间。

Julia自带了自己的包管理器调用
Pkg
。该文档将引导您完成从从头开始包到添加测试并在通用注册表中注册包的所有步骤(这将允许其他用户从Julia package manager添加包)

你可以在这里找到它:

还有一些帮助创建包的用户包,示例包括

  • -顾名思义,这是一种非常“赤裸裸”的快速起床和跑步方法
  • -功能更全面,但正如自述文件所述,目前处于重组状态
一般来说,在Julia中为新用户创建软件包的门槛很低(尽管我在其他语言方面的经验有限!),这可能是生态系统的一大优势


为了解决您对代码“外观”的担忧:如果您想将代码共享给其他人使用,我不会太担心,首先重要的是API以及它是否对用户友好。您的代码与您认为的“专业”代码之间的差异只应在以下程度上起作用:您的代码由于不理想的编码风格而性能较差-但我不认为这会阻止您发布包,如果其他人发现它很有用并注意到明显的性能问题,他们甚至可能帮助您解决这些问题,从而改进您的包,这就是开源的全部理念

Julia附带了自己的包管理器调用
Pkg
。该文档将引导您完成从从头开始包到添加测试并在通用注册表中注册包的所有步骤(这将允许其他用户从Julia package manager添加包)

你可以在这里找到它:

还有一些帮助创建包的用户包,示例包括

  • -顾名思义,这是一种非常“赤裸裸”的快速起床和跑步方法
  • -功能更全面,但正如自述文件所述,目前处于重组状态
一般来说,在Julia中为新用户创建软件包的门槛很低(尽管我在其他语言方面的经验有限!),这可能是生态系统的一大优势


为了解决您对代码“外观”的担忧:如果您想将代码共享给其他人使用,我不会太担心,首先重要的是API以及它是否对用户友好。您的代码与您认为的“专业”代码之间的差异只应在以下程度上起作用:您的代码由于不理想的编码风格而性能较差-但我不认为这会阻止您发布包,如果其他人发现它很有用并注意到明显的性能问题,他们甚至可能帮助您解决这些问题,从而改进您的包,这就是开源的全部理念

关于你的最后一点:只要确保代码按照广告所宣传的那样工作,并且你有非常好的自述、文档、非专家介绍等等。你应该能够做到这一点,因为你是专家。这比内部代码更重要,因为没有那么多人会阅读实际代码。关于你的最后一点:只要确保代码按照宣传的那样工作,并且你有非常好的自述、文档、非专家介绍等等。你应该能够做到这一点,因为你是专家。这比内部代码更重要,因为没有那么多人会阅读实际代码。然后对问题和反馈持开放态度。