惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

U
Unit 42
N
News and Events Feed by Topic
S
Schneier on Security
G
GRAHAM CLULEY
Scott Helme
Scott Helme
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
C
CERT Recently Published Vulnerability Notes
T
The Exploit Database - CXSecurity.com
C
Cisco Blogs
T
The Blog of Author Tim Ferriss
Cisco Talos Blog
Cisco Talos Blog
P
Privacy & Cybersecurity Law Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 司徒正美
Blog — PlanetScale
Blog — PlanetScale
Project Zero
Project Zero
MyScale Blog
MyScale Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
The Last Watchdog
The Last Watchdog
Vercel News
Vercel News
The Cloudflare Blog
C
Check Point Blog
Help Net Security
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
AI
AI
Simon Willison's Weblog
Simon Willison's Weblog
云风的 BLOG
云风的 BLOG
M
MIT News - Artificial intelligence
Stack Overflow Blog
Stack Overflow Blog
腾讯CDC
NISL@THU
NISL@THU
S
Security @ Cisco Blogs
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
S
SegmentFault 最新的问题
MongoDB | Blog
MongoDB | Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
AWS News Blog
AWS News Blog
Cloudbric
Cloudbric
N
News and Events Feed by Topic
PCI Perspectives
PCI Perspectives
S
Securelist
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
Vulnerabilities – Threatpost
S
Secure Thoughts

博客园 - 鹅要长大

【c++编程基础】理解lambda表达式 【c++编程基础】字节对齐pack的理解 【c++编程基础】虚函数virtual的理解与使用 【linux基础知识】理解nohup 【工具使用】docker的使用 【基础算法】银行家舍入法 【ubuntu工具】ubuntu好用工具总结 【ubuntu基础工具使用】ubuntu中screen的安装与使用 【linux操作基础】多目录文件复制且同名不覆盖 【linux基础操作】windows系统生成的txt文件在ubuntu打开乱码 【opencv编程基础】fillpoly和polylines函数的理解 【c++编程基础】std::unique的理解 【编程基础】计算三个顶点之间的夹角 【计算几何算法】道格拉斯普克(Douglas-Peuker)算法 [c++]c++ 工程代码中的debug时条件编译隐去的代码会影响程序运行的性能和耗时吗 【CV基础】语义分割任务计算类别权重 【opencv基础】resize使用的问题 git stash的用法 gflags的使用 opencv 判断某个坐标点是否在多边形内cv::pointPolygonTest 判断多边形的顶点内外角点以及对approxPolyDP函数的理解 用Python从零实现贝叶斯分类器 【CV数据集】智慧城市之CCPD车牌数据集
【linux基础】如何理解python train_dtld.py 2>&1 | tee my_error_log.txt
鹅要长大 · 2026-04-15 · via 博客园 - 鹅要长大

前言

远程服务器上使用screen工具在docker环境训练yolov8模型的时候,不能看到完整的log信息,特别是错误信息,影响代码功能调试。

重定向日志文件

python train_dtld.py 2>&1 | tee my_error_log.txt

理解

1)python train_dtld.py(水源):基础命令,负责启动训练模型;

当程序运行起来时,它会输出文字信息(向外“喷水”)。在linux系统中,程序喷出的水管有两根:

  • pipeline1:标注输出(standard output,简称stdout)。通常用来输出正常的进度条/打印信息,其内部编号时1。
  • pipeline2:标准错误(standard error,简称stderr)。专门用来输出报错信息(CUDA out of memory 或 ModuleNotFoundError),其内部编号是2。

2)2>&1(合并pipeline):作用是将pipeline2强行接到pipeline1上;

  • 2代表错误信息,>表示重定向,&1表示pipeline1所在的地址;
  • 保证无论是正常的进度条还是致命的错误信息,全部混在同一根pipeline中输出。

3)|(管道符)

管道符就像是一个水管连接器,将左边合并好的大水管里的水,毫无保留地输送给右边的下一个命令去处理。

4)tee my_error_log.txt (T型三通阀T-pipe)用于显示程序的输出并将其复制到一个文件中。

作用是将输出的所有信息内容(流过来的水)通过两路输出,一路是直接输出到终端,可以实时查看;一路是输出到log文件,把所有字原封不动地刻录在硬盘上。

故,python train_dtld.py 2>&1 | tee my_error_log.txt 是兼顾了“实时监控”“案发现场保存”的完美组合形态!

参考

各美其美,美美与共,不和他人作比较,不对他人有期待,不批判他人,不钻牛角尖。
心正意诚,做自己该做的事情,做自己喜欢做的事情,安静做一枚有思想的技术媛。

Simple is clean. Complex is clever.
Logic & Aesthetics
Seeking Ground Truth within the pixels.

版权声明,转载请注明出处:https://www.cnblogs.com/happyamyhope/