Python 中的三引号字符串
简介
在 Python 中,使用三引号 """ 或 ''' 创建的字符串可以包含任意字符,包括单引号、双引号和换行符,而不需要转义。这使得创建包含大量格式化文本的字符串变得更加简单和直观。
用法
单行文本
文本和引号之间不能有换行:
多行文本
直接换行:
包含单引号和双引号
在代码中换行而不影响字符串
有时候编辑的字符串太长,我们希望换一行来写,但又不希望在字符串中体现,可以使用斜杠 \ :
GDB 使用教程: examine 命令
基本介绍
examine 可用于检查内存中的数据。
一般语法
x[/nfu] address
其中 n 、 f 、u 均为可选参数, address 表示希望展示的开始地址。
n :希望打印的内容个数,默认为 1 ,若为负数,则会从 address 开始向前打印。
f :指定打印的格式,默认为十六进制。
x :以十六进制格式输出。
d :以十进制格式输出。
u :无符号十进制。
o :以八进制格式输出。
t :以二进制格式输出。
c :以字符格式输出。
s :以字符串格式输出。
i :以汇编指令格式输出。
f :以浮点数格式输出。
u :单元大小,默认为字。
b :字节。
h :半字( 2 字节)
w :字( 4 字节)
...
ArCHer: Training Language Model Agents via Hierarchical Multi-Turn RL 阅读笔记
Yifei Zhou, Andrea Zanette, Jiayi Pan, Sergey Levine and Aviral Kumar
[ UC Berkeley, Google DeepMind ]
运行 2 层强化学习算法以训练多轮对话智能体
要解决的问题
当前用于微调 LLM 的 RL 方法大多数集中于单轮对话,它们难以识别那些可能带来长期优势的动作。
多轮 RL 需要 online 的交互数据,那么 on-policy 方法(比如 PPO )就会非常昂贵。
随着对话轮数增多, token 的数量显著增加,使得 token-level 的算法变得很慢。
有人提出了 utterance-level 的算法,即将一轮对话视为一个 action (而不是一...
安装jekyll
基本安装流程
sudo apt install ruby
sudo apt-get install ruby-dev
sudo apt-get install software-properties-common
sudo apt-get install nodejs
sudo gem install jekyll
最后一步安装jekyll时报错:sass-embedded版本不兼容
ERROR: Error installing jekyll:
The last version of sass-embedded (~> 1.54) to support your Ruby & RubyGems was 1.63.6. Try installing...
将WSL2从C盘迁移到D盘
众所周知,C盘是操作系统所在的分区,如果其被过多软件占用,将会导致系统的响应速度变慢,影响整体性能。随着WSL2的逐渐使用,其虚拟硬盘渐变大,因此考虑将其迁移到D盘
迁移
使用命令wsl --export <distro name> d:\<tar name>.tar备份发行版
使用命令wsl --unregister <distro name>卸载当前发行版
使用命令wsl --import <distro name> d:\<dir name> <tar path> --version 2导入此前备份的发行版
若这一步出现错误,见下一节
wsl –im...
NumPy使用技巧1:条件运算
在NumPy中,条件运算允许你根据条件对数组的元素进行逐个操作,无需显式地编写循环
创建布尔数组
将条件应用于数组,从而创建一个布尔数组,其中的元素表示原数组每个位置是否满足条件
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
condition = arr > 3 # 创建布尔数组
print(condition)
输出结果为:
[False False False True True]
使用布尔数组索引
可用于选出原数组中满足条件的元素
selection = arr[condition] # 选择满足条件的元素
print(selection)
输出结果为:
[4 5]
条件运算
使用布尔数组,将原数组...
NumPy使用技巧2:广播
NumPy的广播(Broadcasting)功能允许你在不同形状的数组之间进行逐元素操作,无需显式地将数组形状调整为相同,提高了代码的可读性与效率
广播规则
从最右边的维度开始逐一比较,如果两个数组的对应维度大小相同,或其中一个维度大小为1,则认为这两个维度是兼容的;否则,这两个数组不能被广播,抛出ValueError错误
如果数组的维度不同,但有一个数组的维度大小为1,NumPy会自动扩展该数组的形状(方法是复制),使其与另一个数组的形状相匹配
广播示例
import numpy as np
A = np.array([[1, 2, 3]]) # 1×3的数组
print(1 + A) # 1被复制了3列
输出结果为:
[[2 3 4]]
B = np.ar...
Chrome常用快捷键总结
标签页和窗口
操作快捷键打开新窗口Ctrl + n在无痕模式下打开新窗口Ctrl + Shift + n打开新的标签页,并跳转到该标签页Ctrl + t按标签页的关闭顺序重新打开先前关闭的标签页Ctrl + Shift + t跳转到下一个打开的标签页Ctrl + Tab 或 Ctrl + PgDn跳转到上一个打开的标签页Ctrl + Shift + Tab 或 Ctrl + PgUp跳转到特定标签页Ctrl + 1 到 Ctrl + 8跳转到最右侧的那个标签页Ctrl + 9在当前标签页中打开主页Alt + Home打开当前标签页浏览记录中记录的上一个页面Alt + 向左箭头键打开当前标签页浏览记录中记录的下一个页面Alt + 向右键关闭当前标签页Ctrl + w 或 Ctrl + F...
12 post articles, 2 pages.