diff --git a/exports/hykilp/atom.xml b/exports/hykilp/atom.xml index 3f80d425d..14e55808c 100644 --- a/exports/hykilp/atom.xml +++ b/exports/hykilp/atom.xml @@ -2,11 +2,21 @@ https://aza.moe/life 小桂桂的回忆录 📒 - 2023-08-02T20:08:31.082816+00:00 + 2023-08-02T22:08:39.854659+00:00 python-feedgen https://aza.moe/meru_256px.png 「我们所经历的每个平凡的日常,也许就是连续发生的奇迹」 + + 2474 + 小桂桂的回忆录 📒 #2474 + 2023-08-02T21:42:26+00:00 + <p>去年暑假被 numba 折腾,今年继续被 numba 折腾 (╯’ – ‘)╯︵ ┻━┻</p> +<p>numba 的初衷是想要简单地把 python 函数编译成二进制加快速度,只要加一个 <code>@njit</code> 就好了这么简单,然而实际效果并不是这样。</p> +<p>加上 <code>@njit</code>,然后发现 logger 不支持要换成 print,修了然后发现 atleast_1d 不支持 float16 要换成 float32,修了然后发现 sqrtm 不支持要手动重造轮子,造了然后发现字符串 % 替换不支持需要换成 f-string,换了然后发现同名变量不能用不同精度,改了然后发现 np.diagonal 不支持要重造轮子,造了然后发现 np.allclose 参数要求太多要重造轮子,造了然后给我一个报错消息里面只写了 “float16” 也没有说在哪行... 给几乎所有变量赋值都加了 .astype(float32) 之后终于可以了,然后跟我说 np.eig 产生复数就不能编译??我真的不知道怎么修了,问问 GPT,GPT 直接说别优化了把 <code>@njit</code> 删了吧 🙃</p> +<p>原本应该是加一个 <code>@njit</code> 就好的事情结果改了一小时放弃了,决定以后再也不碰 numba 了,要优化还是直接 rust 重写吧 <i class="custom-emoji" emoji-src="emoji/6170432338518869955.webm">🦀</i></p> + + 2473 小桂桂的回忆录 📒 #2473 diff --git a/exports/hykilp/index.html b/exports/hykilp/index.html index 64c28dd69..d95847e22 100644 --- a/exports/hykilp/index.html +++ b/exports/hykilp/index.html @@ -27,7 +27,7 @@ diff --git a/exports/hykilp/media/2474.jpg b/exports/hykilp/media/2474.jpg new file mode 100644 index 000000000..b4a7a70fe Binary files /dev/null and b/exports/hykilp/media/2474.jpg differ diff --git a/exports/hykilp/media/2474.jpg_thumb.jpg b/exports/hykilp/media/2474.jpg_thumb.jpg new file mode 100644 index 000000000..90c887e8e Binary files /dev/null and b/exports/hykilp/media/2474.jpg_thumb.jpg differ diff --git a/exports/hykilp/media/2475.jpg b/exports/hykilp/media/2475.jpg new file mode 100644 index 000000000..cb7fce80c Binary files /dev/null and b/exports/hykilp/media/2475.jpg differ diff --git a/exports/hykilp/media/2475.jpg_thumb.jpg b/exports/hykilp/media/2475.jpg_thumb.jpg new file mode 100644 index 000000000..c93a44fc0 Binary files /dev/null and b/exports/hykilp/media/2475.jpg_thumb.jpg differ diff --git a/exports/hykilp/posts.json b/exports/hykilp/posts.json index 8155de705..1bf94e0d5 100644 --- a/exports/hykilp/posts.json +++ b/exports/hykilp/posts.json @@ -7168,7 +7168,7 @@ "id": 652, "date": "2022-04-06T13:35:21", "text": "好久没吃「早饭」了hhh", - "views": 44, + "views": 46, "forwards": 0, "images": [ { @@ -7187,7 +7187,7 @@ "id": 653, "date": "2022-04-06T15:47:53", "text": "Numba njit 好好用!\n\n相当于是运行时编译了一个 binary 出来,余弦相似性计算执行速度瞬间提升 226 倍hhhh", - "views": 41, + "views": 43, "forwards": 0, "images": [ { @@ -7206,7 +7206,7 @@ "id": 654, "date": "2022-04-07T04:07:16", "text": "...好用个鬼呀(掀\n\n除了超级简单的函数以外,其他函数都要改超级多东西才能用 Numba 编译...\n\n今天遇到的各种问题:\n1. np.vstack 不支持,所以用原始 for loop 手写了一个轮子\n2. 如果有 n 个可选参数,它必须编译成 n^2 + 1 个不同的 native 函数\n3. 类型推导超迷惑... 图上这个报错说 float64[] 不能转换成 float32[],但是明明我所有类型连常量都标了 float32 🌚\n\n还想把整个后端的计算都套一遍 Numba... 现在发现翻译一个函数要半小时 😭", - "views": 47, + "views": 48, "forwards": 0, "media_group_id": 13194435492083381, "images": [ @@ -7240,13 +7240,13 @@ "id": 656, "date": "2022-04-08T02:45:19", "text": "结课啦!\n然后下午一下子睡了 5h,睡到头疼hhhh", - "views": 56, + "views": 57, "forwards": 0 }, { "id": 658, "date": "2022-04-08T21:14:04", - "views": 61, + "views": 62, "forwards": 1, "forwarded_from": { "name": "无聊至极" @@ -33055,7 +33055,7 @@ "id": 2469, "date": "2023-07-31T07:04:37", "text": "今天也出现了 AI 行为... 想要把需要计划的日期先打出来,打着打着打出了八月 32 号和 33 号 🌚\n\n不是我怎么打到 33 号才发现不对...", - "views": 56, + "views": 57, "forwards": 1, "reply": { "id": 2005, @@ -33078,14 +33078,14 @@ "id": 2470, "date": "2023-08-01T07:41:59", "text": "哭 洗完澡贴好新的贴片之后总是会发情,但是又不想让刚洗干净的身体弄脏或者染上海鲜味(?) 🙈 怎么办怎么办", - "views": 52, + "views": 53, "forwards": 0 }, { "id": 2471, "date": "2023-08-01T16:53:46", "text": "呜呜,发现工作的研究被 ffmpeg 坑了,所有双声道音频数据都要重新跑。🫣\n\n事情是这样的:我无聊想听听数据集里面的曲子,发现有些明明是人类作曲音质却异常地差,为什么呢?在调了各种 ffmpeg 参数之后发现,只要加了 -ac 1 把双声道合并成单声道音质就会非常差,可是单声道听起来应该和双声道没区别才对呀?\n\n到处查查发现,-ac 1 降声道其实就是把两个波形平均到一起,这样做本身就很有问题... 假设你有一个音频,左耳是 500Hz 的正弦波,右耳也一样但是平移了半个周期,这样的话双声道人耳听到的还是一个正弦波的声音,但是用 -ac 1 降声道就完全没有声音了。为什么呢?因为上下两个正弦波的平均值是 0,互相抵消了。\n\n现实中用两个麦克风给乐器录音的话,两个声道平均互相干扰也是很常见的情况,所以比起平均值还是直接取单声道会好很多很多... 似乎导师也刚意识到这个坑,总之是浪费了一两个月的算力学到了一个很重要的教训 🫣", - "views": 49, + "views": 51, "forwards": 2, "images": [ { @@ -33104,14 +33104,14 @@ "id": 2472, "date": "2023-08-02T01:04:16", "text": "is it Friday yet?", - "views": 41, + "views": 45, "forwards": 0 }, { "id": 2473, "date": "2023-08-02T08:29:28", "text": "发现计划旅行没头绪不知所措的时候,想做的第一件事是先把航班和路程的时间定下来,给旅行加上各种限制...\n\n定好限制反而感觉决定去哪里怎样玩变得没有那么 impossible 了,明明在限制内做出的不一定是最合适的计划... 人真的好矛盾\n\n如果有模型可以让我把想去的地方和时间精力各种因素丢进一个加权图 BFS 一遍找到最合适的计划就好了", - "views": 32, + "views": 35, "forwards": 1, "images": [ { @@ -33125,5 +33125,40 @@ "thumb": "media/2473.jpg_thumb.jpg" } ] + }, + { + "id": 2474, + "date": "2023-08-02T21:42:26", + "text": "去年暑假被 numba 折腾,今年继续被 numba 折腾 (╯’ – ‘)╯︵ ┻━┻\n\nnumba 的初衷是想要简单地把 python 函数编译成二进制加快速度,只要加一个 @njit 就好了这么简单,然而实际效果并不是这样。\n\n加上 @njit,然后发现 logger 不支持要换成 print,修了然后发现 atleast_1d 不支持 float16 要换成 float32,修了然后发现 sqrtm 不支持要手动重造轮子,造了然后发现字符串 % 替换不支持需要换成 f-string,换了然后发现同名变量不能用不同精度,改了然后发现 np.diagonal 不支持要重造轮子,造了然后发现 np.allclose 参数要求太多要重造轮子,造了然后给我一个报错消息里面只写了 “float16” 也没有说在哪行... 给几乎所有变量赋值都加了 .astype(float32) 之后终于可以了,然后跟我说 np.eig 产生复数就不能编译??我真的不知道怎么修了,问问 GPT,GPT 直接说别优化了把 @njit 删了吧 🙃\n\n原本应该是加一个 @njit 就好的事情结果改了一小时放弃了,决定以后再也不碰 numba 了,要优化还是直接 rust 重写吧 🦀", + "views": 9, + "forwards": 0, + "media_group_id": 13528100371661525, + "images": [ + { + "width": 800, + "height": 471, + "date": "2023-08-02T21:42:25", + "media_type": "photo", + "original_name": "photo_2023-08-02_21-42-25.jpg", + "url": "media/2474.jpg", + "size": 69792, + "thumb": "media/2474.jpg_thumb.jpg" + }, + { + "width": 800, + "height": 230, + "date": "2023-08-02T21:42:26", + "media_type": "photo", + "original_name": "photo_2023-08-02_21-42-26.jpg", + "url": "media/2475.jpg", + "size": 38656, + "thumb": "media/2475.jpg_thumb.jpg" + } + ], + "reply": { + "id": 654, + "text": "...好用个鬼呀(掀\n\n除了超级简单的函数以外,其他函数都要改超级多东西才能用 Numba 编译...\n\n今天遇到的各种问题:\n1. np.vstack 不支持,所以用原始 for loop 手写了一个轮子\n2. 如果有 n 个可选参数,它必须编译成 n^2 + 1 个不同的 native 函数\n3. 类型推导超迷惑... 图上这个报错说 float64[] 不能转换成 float32[],但是明明我所有类型连常量都标了 float32 🌚\n\n还想把整个后端的计算都套一遍 Numba... 现在发现翻译一个函数要半小时 😭", + "thumb": "media/654.jpg_thumb.jpg" + } } ] \ No newline at end of file diff --git a/exports/hykilp/rss.xml b/exports/hykilp/rss.xml index b2dd30a68..b7873c6af 100644 --- a/exports/hykilp/rss.xml +++ b/exports/hykilp/rss.xml @@ -12,7 +12,16 @@ https://aza.moe/life zh-cn - Wed, 02 Aug 2023 20:08:31 +0000 + Wed, 02 Aug 2023 22:08:39 +0000 + + 小桂桂的回忆录 📒 #2474 + https://aza.moe/life?post=2474 + <p>去年暑假被 numba 折腾,今年继续被 numba 折腾 (╯’ – ‘)╯︵ ┻━┻</p> +<p>numba 的初衷是想要简单地把 python 函数编译成二进制加快速度,只要加一个 <code>@njit</code> 就好了这么简单,然而实际效果并不是这样。</p> +<p>加上 <code>@njit</code>,然后发现 logger 不支持要换成 print,修了然后发现 atleast_1d 不支持 float16 要换成 float32,修了然后发现 sqrtm 不支持要手动重造轮子,造了然后发现字符串 % 替换不支持需要换成 f-string,换了然后发现同名变量不能用不同精度,改了然后发现 np.diagonal 不支持要重造轮子,造了然后发现 np.allclose 参数要求太多要重造轮子,造了然后给我一个报错消息里面只写了 “float16” 也没有说在哪行... 给几乎所有变量赋值都加了 .astype(float32) 之后终于可以了,然后跟我说 np.eig 产生复数就不能编译??我真的不知道怎么修了,问问 GPT,GPT 直接说别优化了把 <code>@njit</code> 删了吧 🙃</p> +<p>原本应该是加一个 <code>@njit</code> 就好的事情结果改了一小时放弃了,决定以后再也不碰 numba 了,要优化还是直接 rust 重写吧 <i class="custom-emoji" emoji-src="emoji/6170432338518869955.webm">🦀</i></p> + 2474 + 小桂桂的回忆录 📒 #2473 https://aza.moe/life?post=2473