在计算机领域的学术论文中,正确引用算法代码或开源项目是确保学术诚信和可重复性的关键环节,以下从引用原则、标注方式、具体示例及注意事项四个方面进行系统说明:
引用原则
- 可追溯性:读者需能通过引用信息定位原始代码或项目。
- 完整性:包含项目名称、版本号、作者、获取方式(如URL或仓库地址)、许可证等关键信息。
- 一致性:遵循目标期刊或会议的引用格式(如APA、IEEE、ACM等)。
- 时效性:注明代码或项目的访问时间(尤其对网页资源)。
标注方式
文中引用
- 直接引用代码片段:需注明代码来源,
"我们基于TensorFlow 2.8.0实现了自定义损失函数(代码改编自[1])。"
- 引用算法实现:若使用开源项目中的算法,需明确说明:
"实验中采用的YOLOv5目标检测算法基于Ultralytics的开源实现[2]。"
参考文献列表
根据引用格式要求,典型标注方式如下:
(1)GitHub/GitLab等代码仓库
[1] 作者名. 项目名称 [源代码]. 版本号. 发布年份 [发布日期]. 可获取自: URL [访问日期: 年-月-日].
示例:
[1] J. Brownlee. Machine-Learning-Algorithms-From-Scratch [源代码]. v1.0. 2020 [2020-05-15]. 可获取自: https://github.com/jbrownlee/Machine-Learning-Algorithms-From-Scratch [访问日期: 2023-10-20].
(2)学术开源项目(如PyTorch、TensorFlow)
[2] 作者/组织名. 软件名称 [软件]. 版本号. 发布年份. 可获取自: URL [访问日期: 年-月-日].
示例:
[2] PyTorch团队. PyTorch [软件]. v1.13.0. 2023. 可获取自: https://pytorch.org [访问日期: 2023-11-01].
(3)论文附带的代码 若论文本身提供代码,需同时引用论文和代码:
[3] 作者名. 论文标题 [J]. 期刊名, 年份, 卷号(期号): 页码. [源代码]. 可获取自: URL [访问日期: 年-月-日].
示例:
[3] He, K., et al. "Deep Residual Learning for Image Recognition." CVPR, 2016. [源代码]. 可获取自: https://github.com/KaimingHe/deep-residual-networks [访问日期: 2023-10-25].
具体场景示例
场景1:直接使用开源项目中的函数
- 文中:"我们调用OpenCV的
cv2.Canny()函数进行边缘检测(OpenCV团队[4])。" - 参考文献:
[4] OpenCV团队. OpenCV [软件]. v4.7.0. 2023. 可获取自: https://opencv.org [访问日期: 2023-11-05].
场景2:修改开源代码后使用
- 文中:"基于Scikit-learn的K-Means实现(Pedregosa等[5]),我们优化了初始化步骤。"
- 参考文献:
[5] Pedregosa, F., et al. "Scikit-learn: Machine Learning in Python." JMLR, 2011, 12: 2825-2830. [源代码]. 可获取自: https://github.com/scikit-learn/scikit-learn [访问日期: 2023-10-15].
场景3:引用未发布但公开的代码
- 文中:"实验代码参考了匿名作者在GitHub上的未发布实现[6]。"
- 参考文献:
[6] 匿名作者. 深度学习优化代码 [源代码]. 未发布. 2023 [2023-09-10]. 可获取自: https://github.com/anonymous/dl-optimization [访问日期: 2023-10-30].
注意事项
-
许可证合规性:
- 确保代码使用符合许可证要求(如MIT、GPL、Apache等)。
- 若修改代码,需在论文中声明修改内容。
-
版本控制:
- 明确引用代码的版本号(如
v1.2.0或提交哈希值),避免因更新导致结果不可复现。
- 明确引用代码的版本号(如
-
访问日期:
对网页资源(如GitHub)必须标注访问日期,因URL可能失效或内容变更。
-
避免过度引用:
仅引用实际使用的代码部分,避免无关引用。
-
与论文方法的关联:
说明开源代码在研究中的具体作用(如“作为基线方法”或“提供预处理工具”)。
工具推荐
- Zotero/Mendeley:自动抓取GitHub仓库信息生成引用。
- BibTeX模板:使用
@misc类型标注代码,@misc{pytorch2023,= {PyTorch}, author = {PyTorch团队}, howpublished = {\url{https://pytorch.org}}, version = {1.13.0}, year = {2023}, note = {访问日期: 2023-11-01} }
通过遵循上述规范,可确保算法代码和开源项目的引用既符合学术要求,又便于读者复现研究。



微信扫一扫打赏
支付宝扫一扫打赏

