文章目录
1、Environment construction
- macOS 主力建设,目前还有大部分项目都是在windows上运行,现在开始慢慢适应,并进行迁移。
1.1 macos conda
- 在macos 尝试用安装win方式安装conda
- 初见成效现在选择安装镜像
1.2 macos PyTorch
- 在官网选择对应版本即可,注意⚠️选择conda 命令安装,不要选择pip 命令安装。
conda install pytorch::pytorch torchvision torchaudio -c pytorch
1.3 iTerm settings
- 关于在iTrem 命令行使用conda 命令找不到的情况解决
个人理解:在iTerm中报错,但是在系统自带的终端没有报错。联想到在win中的环境变量的问题。
- 在终端输入以下命令进入“编辑环境变量”
- 关于vim的使用在Linux学习中已使用
vim ~/.zshrc
最后输入下面代码进行保存
source ~/.zshrc
1.4 install jupyter
pip3 --default-timeout=600 install jupyter
- 准备启动jupyter,输入
jupyter notebook
即可
启动成功 🚀
2、beam search
- 束搜索Beam Search 是一种启发式图搜索算法,常用于解决序列生成任务,如机器翻译、语音识别、文本摘要等。它是对广度优先搜索的一种优化,通过减少搜索宽度来提高搜索效率,同时尽量保证找到的解的质量。
基本思想
束搜索的基本思想是在每一步扩展中,不是扩展所有可能的节点,而是只扩展有限数目(称为束宽,Beam Width)的最有可能产生最优解的节点。这样,束搜索就可以在有限的计算资源下,尽可能找到最优解或近似最优解。
- 在序列生成问题中,常用的方法是一个个词元地进行生成,但是先前步生成的词元会影响之后词元的概率分布,为此,我们需要使用搜索算法来得到一个较好的序列
2.1 greedy search
贪心搜索即每个时间步都选择具有最高条件概率的词元。
y t ′ = argmax y ∈ Y P ( y ∣ y 1 , … , y t ′ − 1 , c ) y_{t'} = \operatorname*{argmax}_{y \in \mathcal{Y}} P(y \mid y_1, \ldots, y_{t'-1}, \mathbf{c}) yt′=y∈YargmaxP(y∣y1,…,yt′−1,c)
我们的目标是找到一个最有序列,他的联合概率,也就是每步之间的条件概率的乘积,最大。
∏ t ′ = 1 T ′ P ( y t ′ ∣ y 1 , … , y t ′ − 1 , c ) \prod_{t'=1}^{T'} P(y_{t'} \mid y_1, \ldots, y_{t'-1}, \mathbf{c}) t′=1∏T′