844 Matching Annotations
  1. Feb 2023
    1. 五年意味着什么呢?我经常向我的朋友举例子,10 年前清华最火热的专业是建筑和土木,5 年前是经管,现在是计算机。然而,本科入学到博士毕业,基本就是 9 年时间,可以思考下,9 年前拿着非常优秀的成绩进入清华选择了建筑或是土木的同学,如今面对的就业市场如何?推己及人,现在拿着优秀成绩入围了计算机这个行业的人们,9 年后面对的就业市场如何?完全无法预测。

      热门专业每5年更替一次?

    1. 试想,当你有一个 idea 想到一半想不清楚,或是有一个证明死活推不出来,亦或是有一个 bug 没修好导致看不到实验结果,你能到点儿就下班,和朋友开开心心出去浪?这心得多大。读博不是一种单纯出卖劳动力,下了班就可以完全不想的工作。读博所经营的是你自己的 career,如果你自己都觉得无所谓,不去主动承担责任和压力的话,结果应该不会太好。更何况科研永无止境,你永远可以更进一步,所以你几乎没有机会说“我真的做完了”,只有不断向前。

      如何应对暂时没有解决的问题对自己心智的侵占?

    2. 读博是一个巨大的工程,而这个工程却有一个极其模糊的目标:发现一些新的知识并把它写出来。而在发现新知识的漫长过程中,很少会有像样的反馈和成就感。有可能你辛辛苦苦工作了几个月甚至更久,却发现自己当初的 idea 根本不 work。

      读博的反馈周期很长

    3. 假如你毕业以后去创业,你能不能干成和有没有博士学位没关系,我反而觉得有行业经验更重要。

      博士对创业没有什么助益?

    4. 假如你毕业以后去大厂,你的起点可能会比本科/硕士生高1-2个level,那又怎样?你的同龄人早已在行业里积累了5,6年的经验,现在可能已经是你的顶头上司了。除非企业脑残,在升职的时候设置学历天花板,不然你哪有翻身的一天?

      博士工作起点一般比本科生高1-2级? - 关键在于所处部门(能否更换?)以及上升前景

    5. 国外就不一样啦,我身边的同学因为工作态度或效率达不到导师的期望被直接fire也是常有的事,尤其是在AP的组里(但绝不是仅限于AP)。这也容易理解,AP通常经费有限,又有沉重的tenure压力,本来就招不了几个学生,要是组里再养两个闲人,基本上就等着tenure不过卷铺盖走人了。所以这种情况下最理性的选择就是把你fire了然后明年重新招靠谱的。而且这些AP一般要求很高,他们会拿自己PhD时候的工作效率和你做对比,然后纳闷儿为什么他觉得三天就能搞完的东西你一个月还没做出来。

      国外 AP 通常要求很高?

    6. 几乎所有顶尖大学的计算机教授都处于 insanely over-subscribed 的状态,每天有千头万绪的工作需要处理,同时又要保持自己在专业视野上的领先:科研这东西没有尽头,不进则退,而且很多老师还有跟科研紧密相关的创业项目。所谓的寒暑假和灵活的工作时间都是扯淡:大学教授根本没有上班下班的概念,都是自己的活儿,难道还摸鱼不成?举个例子,我在CMU的导师之一 Andy Pavlo 每天的午饭都是一个苹果加一些小饼干,一边工作/开会一边吃。我说你为什么中午永远吃这些呀?他说因为这样就不用花精力思考中午该吃什么了。。。还有一次我和我们系的 Mor Harchol-Balter 教授聊天儿,我问她一般晚上都干嘛,她说她每天回家吃完晚饭以后工作4个小时,然后睡觉。我就不过多举例子了,大家感受下就好。

      许多顶尖大学的计算机教授几乎没有上班下班的概念? - 例如 CMU 的 Andy Pavlo 和 Mor Harchol-Balter

    1. For example, if you wanted to forward ports 3000 and 27017, you could update the file as follows: Host remote-linux-machine User myuser HostName remote-linux-machine.mydomain LocalForward 127.0.0.1:3000 127.0.0.1:3000 LocalForward 127.0.0.1:27017 127.0.0.1:27017

      LocalForward?

    2. If you would like the local port of the tunnel to be different than the remote server's, you can change this via the Forwarded Ports panel. Right-click the tunnel you want to modify, and select Change Local Address Port in the context menu.

      PORTS 面板修改本地端口

    3. If you would like VS Code to remember any ports you have forwarded, check Remote: Restore Forwarded Ports in the Settings editor (Ctrl+,) or set "remote.restoreForwardedPorts": true in settings.json.

      设置记忆临时添加的转发

    4. A notification will tell you the localhost port you should use to access the remote port. For example, if you forwarded an HTTP server listening on port 3000, the notification may tell you that it was mapped to port 4123 on localhost since 3000 was already in use. You can then connect to this remote HTTP server using http://localhost:4123.

      Add Port 会自动选择可用的本地端口?

    5. Once you are connected to a host, if you want to temporarily forward a new port for the duration of the session, select Forward a Port from the Command Palette (F1, Ctrl+Shift+P) or select the Add Port button in the Ports view.

      在 PORTS 面板临时添加转发

    1. dynamically register the hostname of your workstation within the local network's DNS servers, turning your device into a 'member' of this network. Example: your computer is named mypc-01, but when it receives a DNS suffix from the DHCP (or, again, via GPO), it will be internally recognized as mypc-01.thedomainsuffixspecified.com.

      为自己的计算机添加域名后缀

    2. be automatically added to any DNS queries that do not specify a domain name. Ex: when you try to access a website by only specifying its hostname, such as www. It will automatically add the suffix domain specified by the DHCP (or GPO) administrator of your network to this query, turning it into the FQDN www.domainsuffixspecified.com.

      为没有指定域名的请求添加域名后缀

    1. 通常情况下,当我们开启一个写作项目时,我们会先列大纲。这迫使我们从一张空白页开始。相比之下,如果我们每天都写新的笔记,并留意它们之间的联系,这些笔记可以积累成潜在的写作项目。当感觉大纲「成熟 」时,我们就可以收获,把它变成手稿,这个过程不像从空白页开始写作那样需要付出巨大的努力才能启动。

      写作项目才需要列大纲

    1. 在我每日工作日志[7]里打草稿,把十几条单行笔记凑出一个无序清单。这样清空头脑后,我围绕其中似乎有意思的部分着手写作。这时候,我通常在给自己挖坑,结果用光了剩余时间。如果来不及的那些看起来挺有意义,我就添加到写作收件箱中,好在以后处理。

      每日工作日志≠写作收件箱,后者似乎与创意核心有关

    1. 多卡性。由于WanDB是直接监测服务器运行时环境的,在python开始使用GPU的时候就可以一直监测GPU功耗,所以使用单机多卡、多机多卡都不用调整任何代码

      WanDB 直接监测服务器运行时环境,例如 GPU 功耗,所以不需要随硬件环境改变而调整代码?

    2. 最牛的是,它内嵌在计算机中,不需要你写可视化代码(当然你也可以自己写matplot,然后用wandb输出)

      WanDB 最大的特点是不需要写可视化代码(TensorBoard 难道不行?)

    1. Batch Normalization Code

      批归一化的代码实现

    2. Reshape input into 2D
      1. 变形:将输入变为二维矩阵
    3. Recovery with as the j-th column, areparameters
      1. Recovery 恢复:线性计算标准化数据,学习其中的两个参数
        • 当线性系数为标准差、常量偏差系数为平均值时,就会还原为原数据
    4. Output by reshaping to the same shape as
      1. 恢复形状:将输出还原回原输入的形状
    5. Normalize by standardization each column
      1. 正则化:对每一列标准化
    6. Batch Normalization

      批量归一化的四个步骤

    7. Still controversial why BN works

      批量归一化的效果: - 允许增大学习率,加快收敛 - 一般不改变训练结果 - 仍然处于讨论中

    8. Batch Normalization (BN) standards inputs for internal layers

      批量归一化的操作对象是中间层的输入

    9. Does not help deep NN

      标准化对深度神经网络无效

    10. A smaller allows a larger learning rate

      更平滑意味着更小的梯度变化率,允许了更大的学习率

    11. Standardizing data makes the loss smother for linear methods

      对于线性方法,将数据标准化可以使得损失函数更加平滑

    12. Batch Normalization

      批的归一化

    13. Deep Network Tuning

      深度神经网络架构

    1. Summary

      NAS 的应用

    2. Minimize both model loss and hardware latency

      平衡模型损失和硬件延迟

    3. Search architecture to fit into edge devices

      适配边缘设备的搜索架构

    4. Explainability of NAS result

      NAS 结果的可解释性

    5. Research directions

      NAS 的研究方向

    6. αβ2γ2 ≈ 2 φ = 1

      反映计算复杂度的 CNN 复合扩展条件

    7. CNN can be scaled by 3 ways

      CNN 的三个扩展维度

    8. EfficientNet proposes a compound scaling

      EfficientNet 提出了复合扩展

    9. Scaling CNNs

      扩展 CNN

    10. Multiple candidates for each layer

      NAS 每层有若干个候选项

  2. Jan 2023
    1. off:目标文件中的偏移

      程序头部表中一个段的 off 字段表示对应的节在可执行目标文件中的偏移

    2. 虚拟内存的组织方式,它被组织成一些很大的、连续的、大小为 2 的幂的字节片

      加载器希望将可执行目标文件中包含段的页整个映射到虚拟内存中