
1 scguanzhong 2024-03-14 17:35:08 +08:00 图挂掉啦 |
2 28Sv0ngQfIE7Yloe 2024-03-14 17:37:40 +08:00 |
3 hidder 2024-03-14 17:38:05 +08:00 好啊,原来是你小子泄露公司项目 |
4 tangtang369 2024-03-14 17:42:16 +08:00 @Morii 没有强制要求 直接一行都行 |
5 v24radiant OP @scguanzhong 没有吧 我这边是正常显示的呀 |
6 v24radiant OP @Morii 并不是的 我也不知道咋想的 |
7 v24radiant OP @hidder 又没有敏感信息 |
8 gnakzz 2024-03-14 17:57:08 +08:00 学过别的语言且刚接触 python 的话也不容易写出来 |
9 apake 2024-03-14 18:00:50 +08:00 应该是算法工程师写的 |
10 NoOneNoBody 2024-03-14 18:01:36 +08:00 没搞清想说的点在哪里 |
11 jinxjhin 2024-03-14 18:03:09 +08:00 没怎么写过 Python ,前两个函数有什么问题吗? |
12 c3de3f21 2024-03-14 18:06:01 +08:00 这是要使用变量决定调用哪个函数吗?学到了。。。。。。。。 |
13 gaeco 2024-03-14 18:23:30 +08:00 所以这个有啥问题 |
14 v24radiant OP @jinxjhin 第一个是每次传进来相同的 gamma 值的时候都会算一个 table ,第二个是函数 makedirs 这个函数本身就是支持路径存在不创建的 |
15 ohayoo 2024-03-14 18:28:52 +08:00 兄弟不妨明说,到底是啥子问题让你觉得写的不好 |
16 NoOneNoBody 2024-03-14 18:29:03 +08:00 除了有点“罗唆”,看不出毛病 只是第一个既然用了 numpy 就无需 for 了 @c3de3f21 #12 这是 python 实现 switch 的常见写法,字典+if 特别是当序列要每个元素做处理,但每个元素可能调用的处理方法不同,可以归一到一个闭包或 lambda ,然后使用 map 或 apply 一次处理,这样转为并发也容易 |
17 SteinsGate 2024-03-14 18:29:18 +08:00 via Android 挂我是吧,下班了别跑 |
18 v24radiant OP |
19 fatigue 2024-03-14 18:50:42 +08:00 给性能优化留出空间 |
20 v24radiant OP |
21 v24radiant OP @fatigue 学到了学到了 |
22 NoOneNoody 2024-03-14 18:56:30 +08:00 @v24radiant #14 第一个传 gamma 算 table 也不算大问题,只是没有优化而已,但计算这个 table 消耗不大,也可以不优化 因为 gamma 往往是初始参数,gamma_table 属于中间变量,对于其他用户,肯定是传 gamma 进去的,而不是 table ;所以保持参数为 gamma 便于以后复用时的理解 如果处理的图片极多(过万张),我写的话会把 table 抽出来做个 cache ,如果千张左右没必要,保持易读性更好 “If exist_ok is False (the default), an FileExistsError is raised if the target directory already exists.” makedirs 默认是会报错的,不过 exist_ok=True 可以避免 我看这种写法更像是写成闭包,这样可以批量 apply ,便于向量化或者并发 PS:这些函数倒是很像是 AI 写出来的 |
23 SenLief 2024-03-14 18:56:55 +08:00 就是有点冗余,你们绩效不会是看代码的吧 |
24 nagisaushio 2024-03-14 18:59:56 +08:00 via Android 像极了我写一次性的脚本,怎么快怎么来 |
25 NoOneNoBody 2024-03-14 19:03:22 +08:00 @v24radiant #18 我也说说这个多余的 defaut ,我以前也不写这些“多余”的 直到做批量数据,跑一个十万数据,到 80%时报错中断了,前面几万个白跑了,追查就是其中一个数据异常,无法计算中间数据,导致后面报错 然后我就加了个容错,十万能跑完,只是这个异常的数据无结果而已,其他都有结果,容错就是这句 defaut |
26 v24radiant OP @NoOneNoBody #25 兄弟你仔细看看这个 dafulat 跟其他 case 不一样,是没有返回值的如果跑到这里必定报错 |
27 NoobNoob030 2024-03-14 19:07:15 +08:00 挂我是吧?下班别走 |
28 NoOneNoBody 2024-03-14 19:07:18 +08:00 typo: default |
30 v24radiant OP @NoOneNoBody #28 打快了 |
31 NoOneNoBody 2024-03-14 19:13:36 +08:00 @v24radiant #26 dict.get 没找到 key 时,返回指定 default 值 他应该写错了 我写的话应该是 if ...: choice=something elif ... else: pass return switch.get(choice, default)() 把 switch.get(choice, default) 抽到 if..else..外面 |
32 NoOneNoBody 2024-03-14 19:15:50 +08:00 @v24radiant #30 哈哈,我说的是我自己打错了,没想到你还先回复了,变成说你了,误解误解 |
33 v24radiant OP @NoOneNoBody #31 python3.10 支持 match case 了,也可以不用这么麻烦 |
34 28Sv0ngQfIE7Yloe 2024-03-14 23:20:01 +08:00 @tangtang369 看的难受 哈哈 |