pyenv + poetry 进行多版本python项目管理方案
摘要 1、pyenv 管理不同版本的python 2、poetry根据不同的pyenv创建的python版本进行项目环境.venv的创建 1.使用pyenv管理不同版本的python对于pyenv的安装,pyenv官方github提供详细的教程,本文不再涉及,windows系统需要安装的话,可以使用pyenv-win,在github上也有仓库提供。 1 查看可安装的python版本及已经安装的python版本12pyenv versions # 显示已经安装的所有 Python 版本pyenv install --list # 显示所有可安装的 Python 版本 2.安装卸载python版本12pyenv install <version> # 安装指定版本的 Python,例如 pyenv install 3.10.7pyenv uninstall <version> # 卸载指定版本的 Python 3.设置python版本123pyenv global <vers...
Poetry基本用法教程
1.背景 最近在复现一个项目的时候,发现项目的环境安装是使用Poetry,一脸懵逼,不知道Poetry是什么东西,以前也从来没有接触过。于是开始学习Poetry,一番了解下来,决定专门学习掌握一下Poetry这个包依赖管理工具。 1.1 Poetry是什么?Poetry官网如此写到:1Poetry is a tool for dependency management and packaging in Python. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you. Poetry offers a lockfile to ensure repeatable installs, and can build your project for distribution.简而言之,就是一个python依赖管理工具,具有虚拟环境管理、Package...
损失函数中的温度参数τ
在对比学习的损失函数(如InfoNCE、NT-Xent等)中,温度参数(Temperature,通常用τ表示) 是一个核心超参数,其核心作用是调节模型对样本间相似度差异的敏感程度,通过缩放相似度分数来控制损失函数中正负例的区分强度。 1. 温度参数的数学位置以最常用的InfoNCE损失为例,其公式可简化为: \mathcal{L} = -\log\left( \frac{\exp(\text{sim}(z_i, z_+)/\tau)}{\sum_{k \in \text{neg} \cup \{+\}} \exp(\text{sim}(z_i, z_k)/\tau)} \right)其中: $zi$ 是锚点样本的特征向量,$z+$ 是正例样本的特征向量,$z_k$ 是负例样本的特征向量; $\text{sim}(\cdot, \cdot)$ 是相似度函数(如内积、余弦相似度),一般都是余弦相似度; $\tau$ 即为温度参数,位于指数函数的分母,作为softmax的缩放因子。 2. 温度参数的直观含义温度参数的核心作用是调节相似度分布的“尖锐度”,控制模型对正...
什么是glue code?
科普向:什么是胶水代码?为什么胶水代码不需要修改实质性逻辑?Glue code(胶水代码)是指用于把不同的软件组件、库、系统或模块“粘合”在一起,使它们能够协同工作的代码。它通常本身不是实现业务逻辑的核心部分,而是负责不同部分之间的对接、适配和调用。 主要特点 桥梁作用:连接两个或多个原本不兼容或相互独立的系统、库或模块。 适配/转换:可能包括参数格式转换、接口适配、协议兼容等。 非核心逻辑:不直接实现业务目标,而是保证各部分能正常协同。 常见于集成开发:如将第三方库集成到自己的项目、跨语言模块通信等场景。 示例 API包装器比如,用 Python 写一段代码,把 C 语言的库通过 ctypes/cffi 调用起来,这部分代码就是 glue code。 数据转换在前端和后端之间传递数据时,把后端的 JSON 数据转成前端可用的对象,这个转换代码也可以视作 glue code。 中间件在微服务架构中,不同服务通过中间件(如消息队列、API 网关)交互,中间件的适配代码也可称为 glue code。 作用 降低不同技术栈、语言、平台之间的集成难度。 提高现有组件复用,减少重...