粉丝11.4万获赞196.0万


管道 pipe 是 linux 里用来连接两个程序的一种机制。你在命令行里看到的竖线符号就是管道最常见的写法。 它的作用不是把两个命令简单地排在一起执行,而是把前一个命令的输出直接交给后一个命令当输入。 比如这条命令 cat x dot log 符号 cat x dot log 会把网址内容打印出来。 正常情况下,这些内容会显示在屏幕上,但中间加了管道以后,这些内容不会先显示给你看,而是被送进 grab, arrow, grab, 再从里面筛选包含 arrow 的 行。 要理解管道,先要理解三个标准数据流。 linux 程序启动时,通常都会有标准输入、标准输出和标准错误。 标准输入,英文是 stdn, 通常来自键盘标准输出 stdo 通常输出到屏幕,标准错误 stdr 也通常输出到屏幕,用来显示错误信息。 管道连接的主要是前一个程序的标准输出和后一个程序的标准输入。也就是说, a 命令把结果写到 step o, 管道把这部分数据接住,再交给 b 命令的 stdn。 b 命令并不一定知道数据来自另一个程序,它只是在读取自己的输入。所以竖线本身并不是一个普通字体,也不是某个命令的参数,它是 shell 解释的语法。 shell 看到之后会先分析整条命令,然后创建一个管道,再启动管道两边的程序,并把它们的输入输出关系接好。 管道的底层可以理解成一个由操作系统提供的临时数据通道,它有两端,写入端和读取端。前一个进程往写入端写数据,后一个进程从读取端读数据,数据在内核缓冲区里短暂停留,不需要先保存成一个文件,这也是管道非常重要的原因,它让多个小工具可以组合起来,完成复杂任务。 linux 里很多命令都遵循一个思想,每个程序只做好一件事,然后通过文本输入输出和其他程序配合。管道就是这些程序之间的接口。举个常见例子, ps o x group enix。 ps o x 列出当前进程 group enix, 从这些进程信息里过滤出包含 enix 的 行。这里 ps 不 负责搜索, group 不 负责列进程,他们通过管道组合后就完成了查找 enix 进程这个任务。 再看一个多级管道, cataccess dot log grab four hundred four w c l。 第一步,输出日记。第二步,筛选包含四零四的行。第三步,统计行数。数据像流水线一样一段一段处理,最终得到四零四错误出现的次数。每个命令只处理自己关心的部分。管道传递数据时,不是必须等前一个命令全部执行完后,一个命令才开始。 通常两边的进程会同时运行,前一个命令一边产生数据,后一个命令一边读取数据。管道缓冲区满了,写入方会暂时等待,缓冲区空了,读取方也会等待。这意味着管道适合处理大量数据。 比如一个很大的日制文件,如果用管道筛选,不一定要把中间结果完整写到磁盘上,数据可以边读边过滤边统计,既节省临时文件,也让命令组合更简洁。 不过要注意,管道默认只传递标准输出,不传递标准错误。比如 command 一、 command 二, command 一 的正常输出会进入 command 二,但错误信息通常仍然显示在终端上。如果想把错误也传过去,需要使用重定项。比如二大于与一 把标准错误合并到标准输出,管道和重定项容易混淆。重定项更像是把输入输出改到文件,比如 echo hello 大 于 a 点 txt 是 把输出写入文件, cat 小 于 a 点 txt 是 从文件读取输入。管道则是把一个进程的输出接到另一个进程的输入,连接的是程序和程序。 有些命令特别适合放在管道后面,比如 grabsoftunicooxc, 它们都擅长从标准输出读取文本,再把处理结果写到标准输出。只要一个命令支持从 s, t, d 读数据,它通常就能很好地参与管道组合。但也不是所有程序都适合管道, 有些程序必须读取文件路径参数,有些程序需要交互式界面。有些程序输出的不是普通文本,而是二禁制数据。管道本身可以传二禁制,但后面的命令必须能正确理解这些数据,否则结果就没有意义。 总结来说,管道就是 linux 中连接进程的数据通道。竖线告诉 shell, 把左边命令的标准输出接到右边命令的标准输入。它的价值在于让小命令像积木一样组合起来,用简单、清晰、可附用的方式处理复杂数据。

兄弟们,今天给大家带来一个简单的开源工具,在 linux 系统上使用的啊, speech to text tour, 然后大家可以直接进我这个网站代码就行了, 唯一可能要注意的就是得去 zonyx 这边整一个 api key 拿去用就行。嗯, 然后呢,主要是平常扣顶的时候懒得去手打了,所以就做了这么一个简单的工具,我知道现在市场上肯定有很多类似的,但是还是自己做了一个简单易用的版本。 然后呢,他加了一个点,就在于说,哎,我可以拖动哎,因为我没有鼠标 看,非常方便,或者说直接复制 ctrl v 就 行,对它识别得非常精准,比如说, uh, what have you eat tonight? you? 扛邦蛙,口令机蛙,哈哈。哎呦,可能是我日文不是很标准呢,然后呢,它也可以对里面内置的声音去做一个转移啊,我看一下, 当然是人类史上最大 ipo 来了,估值直接拉到两万亿美元,而马斯克将会是第一个财富破万亿的人类,只是大概是这么个效果,然后平常开会的时候也好,或者说上课的时候也可以用这个去做转录, 然后下一步的话可能做一个翻译吧,就是中英文的呼译,或者说其他语言转成中文。对,那么现在先到这吧,希望大家用的开心。

你平常用的下水道的疏通剂、洁厕灵,如果是用法不对的话,很有可能酿成大祸。大家千万相信 广东啊,已经有一名男子用疏通剂疏通厕所的时候被烧伤了!这条视频家里打扫卫生的一定要看完,也要转发给你的家人朋友,教你怎么正确使用洁厕用品。 央视新闻的消息,广东东莞有一名男子家里厕所堵了,他自己买了管道疏通剂进行疏通。但是他也没想到,就这个简简单单通个马桶,直接被化学品严重烧伤。男子当场就吓坏了,赶紧拿冷水冲了伤口往医院跑, 结果路上就浑身发麻,连气都喘不上来。送进抢救室之后,短短半个小时,心率失常两次,差一点就没命了, 医生全力抢救之后,才把人从鬼门关拉回来。很多人肯定纳闷,不就是个疏通厕所的清洁剂吗?怎么能这么狠呢? 重点来了,市面上很多便宜的三无疏通剂杂牌清洁剂,里面藏着一种叫做清氟酸的东西,江湖外号化腐水,腐蚀性非常强,危险性非常高。不光疏通剂,很多劣质瓷砖的清洁剂里全有这种东西,而且出事了!真不止这一起, 去年十月,浙江一位李先生也是一样的情况,马桶堵了,他着急,说明书看都不看,直接半瓶疏通粉往里边倒,结果粉末一遇水,瞬间剧烈反应,滚烫的泡沫和脏水四处乱喷,直接喷了他一脸,当场脸部皮肤红肿脱皮,严重灼伤,太受罪了! 为了让大家看清楚风险,消防部门专门做了实验,结果让人头皮发麻。这个实验显示,一些三无疏通剂遇水会瞬间沸腾,液体飞溅,最高温度会达到一百四十七度,里面的化学成分遇水之后会产生高温强碱液体, 密闭管道内甚至会引发喷射爆炸,溅到皮肤、眼睛,就会造成严重的腐蚀伤害。而更加致命的还有一个超级误区,很多人打扫卫生图省事,疏通剂、洁厕灵八四消毒液是混着用,轮番到 消防员进行了模拟之后,用有毒气体检测仪对空气进行检测,结果检测仪直接疯狂报警,毒气数值瞬间爆表。 几种东西一混搭,马上会产生剧毒的滤器人,吸进去,轻则恶心胸痛、头晕呕吐,重则中毒窒息,危及生命。 有朋友可能会问,那么在日常的清洗之中,怎么能够正确使用管道疏通剂呢?接下来四点是正确用法,都是消防官方叮嘱的,大家要记好,第一,只买正规大品牌,正品包装信息齐全的 杂牌三无疏通剂,再便宜也不要买。第二,用之前一定要看说明书,少量多次倒,只用冷水,千万不要加热水催效果。 第三,操作必须戴手套、口罩、护目镜,千万不要低头凑近马桶盯着看。第四,所有清洁用品分开存放,分开使用,绝对不能混搭混用。 最后,我们教大家应急处理的常识,以备不时之需,万一不慎被灼伤,立即用流动清水持续冲洗至少三十分钟,如果有条件,可以用低浓度的 醋酸冲洗创面,处理完马上就医。安全无小事,防患于未然,希望大家都能够重视,平平安安!关注小强说,我们,了解更多信息!

大家好,我是紫雨,今天我来介绍一下近期我们对 diff pipe forge 模型训练炉的一个优化成果。 这个项目基于 b 站天东大佬对 t d russel 的 diffusion pipe 进行的一个 g u i 封装分层加载。这部分的优化最早是由龙腾大佬搭的出版框架,我在这个基础上接手继续完善。目前它只是一个阶段性的成果,还有很多打磨空间。 这里必须提一下,这个项目的原封装人是 b 站的天东大佬,没有他搭好的 diff pipe forge 框架,后面的优化都无从谈起。 这是他的 get up 主页,大家感兴趣可以去点个 star, 给大佬一点更新的动力,期待他产出更多优秀内容。 为了让各位更好地理解快交换和分层加载技术有什么技术上的区别,以更好地在模型训练中调整设置的参数,关于快交换和分层加载的详细内容已经放在屏幕上了,感兴趣的观众可以暂停观看,我这里就不一一讲述了。 接下来我打开优化后 diff pipe forge 炉,来让各位看看优化后的实际效果。对于没有使用过 diff pipe forge 炉的观众,可以一步 b 站账号天东 ai 的 主页 查看他制作的 diff pipe forge 使用教程,这期我就不多赘述了。为了让大家直观看到优化后的 diff pipe forge 对 显存占用的优化效果, 我们先来一组极限测试,我们使用一千零二十四分辨率的数据集,并把批次大小调整到四,再使用 b fold 十六模型精度全精度 i m w 优化器情况下,先打开快交换二十,看看手部所需要的时间。现在我们点击开始训练。 初次开始训练时可能会比较慢,我们耐心等待 使用快交换时出土化使用了五分钟。好了,出土化完毕, 我们来看看第一步需要多长时间。此时显存占用已经攀升到了惊人的十五点七 g, 可显卡功耗却只在四十五 w 上下浮动,对于这块卡来说,训练时这样的功耗是完全不正常的,说明巨大的 i o 堵塞已经出现,数据传输的效率正死死拖住训练速度的后腿。 在等待了五分钟左右,还是没见到有 loss 值输出。无论最终速度如何, 这个训练速度已经严重影响我们的训练效率,几乎无法使用。现在我们停止训练,去测试分层加载的速度。现在我们开始调整有关分层加载的参数。我们先把分层加载打开, 并把文本模型和推理模型的卸载层数调整到百分之九十。此处需要注意的是,快交换和分层加载是无法同时使用的,所以在打开分层加载后,快交换的选项会自动关闭,且无法调整。现在我们重新打开训练。 打开分层加载后,初步化使用了四分钟,我们继续关注输出第一步需要多长时间? 第一步的 loss 值已经出现在四批次大小下,第一步使用了将近四十秒的时间,紧接着迅速回落到三十一秒上下,因为此时开着远程控制,使用速度应该还能继续下降。因为在测试快交换的时候没有任何输出,所以我们也没办法比较到底比快交换快了多少? 此时显存占用来到了十四 g, 对 于 the image turbo 来说,打开四批次时还没有出现严重的 i o 堵塞,训练时的功耗大小来到了一百二十万兆上下,这个效果 我觉得对于普通玩家已经非常可用了。现在我打算先关闭远程控制,让它跑一会,再来看看稳定后的速度大概多少。 好了,现在已经让他跑了二十分钟,单步耗时稳定在二十七秒左右,重新连接远程控制后,速度略有波动,回到了二十九秒上下。 到这里极限测试的结果相信大家心里已经有了自己的判断。接下来我们把标准放宽,看看在一批次其他参数不变的情况下,需要多少显存才能训练 z image turbo。 我 们接着往下看, 使用分层加载后,显存占用直接调到了五点七 g 左右, 也就是说一块六到八 g 显存的普通显卡就能把 z mix turbo 跑起来。而手部使用了十八秒,随后迅速回落到九秒附近,然后我们切换到快交换,看看它的表现, 现在数据已经出来了,然后我们和刚刚分层加载的数据对比一下显存,这边分层加载只用了五点七 g, 比快交换整整省下了四点三 g, 节约幅度超过百分之四十 速度。这边分层加载稳定后是九秒,一步快交换要十二秒,每一步快了三秒,提速将近百分之二十五。在以上测试中,分层加载普遍更省显存,而且跑得还更快,这足以说明分层加载对比于传统快交换技术的优势。 好啦,以上就是我们这期的节目内容,大家要是想要使用这个训练炉,可以在简介区获取整合包下载链接,也可以去 get up 从源马拉取。要是你喜欢我们的工作,可以给我们点点 star, 你 的支持是我们更新的动力,希望下期还能给各位带来优质的内容。

老烟斗圈有句话,没抽过公鸡不算懂英式。这说的就是彼得森公鸡,他最早是灯喜路三宝之一,名字叫 early morning pipe, 翻译过来就是清晨的烟斗。后来配方转给了彼得森,经典没断,味道也没变, 开罐一闻,标准的英式味儿。邋遢基亚的烟熏打底,混着青草香,还有一丝国普的甜,不冲不呛,干干净净。这草用直斗或弯斗都行,斗箍别太深,中等大小就好,方便控制温度。裁切是丝带状的,干湿度刚好揉散了,松松装斗, 千万别压太实,给他留点喘气的空间。点火后第一口是柔和的烟熏味,接着福吉尼亚的甜就上来了,像烤面包,混着淡淡的奶油香,中断过鼻时,东方草那股辛辣感直冲脑门,通透但不辣舌头,关键就一个字,慢!小口慢作,别怕熄火, 一旦抽快了,抖温一高,甜味就没了,只剩胶跟铜门的税帽比他更清爽。 但缺点是那股烟熏味可能得适应几斗,早晨配杯清咖啡,或者午后一个人发呆的时候来上一斗,安逸的很。