自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(210)
  • 收藏
  • 关注

原创 虚拟环境安装+tmux+nvitop+conda activate无法激活环境的问题

通过上述步骤,你应该能够找到解决方法,并成功激活 Conda 环境。为了确保你使用正确的命令来激活环境,请检查 Conda 的安装状态和 Shell 配置。首先,确保你的系统中已安装 Python 和 pip。,一个用于监控 NVIDIA GPU 使用情况的工具,你可以遵循以下步骤来确保在你的环境中正确安装它。如果仍然有问题,可能是 Conda 安装有误。如果安装成功,这个命令将显示当前系统中 NVIDIA GPU 的使用情况。如果你使用的是 Zsh 或其他 Shell,确保使用对应的配置文件,例如。

2024-05-07 11:50:40 718

原创 ‘DataParallel‘ object has no attribute ‘model1‘

我的代码如下。

2023-12-25 10:54:45 534 1

原创 为啥$p(w|D)=p(y|X,w)$?

对于表达式p(D∣w)=p(y∣X,w)p(D|w) = p(y|X,w)p(D∣w)=p(y∣X,w) 的疑问,这个等式在一定条件下是成立的。但是需要仔细说明。当我们说 p(D∣w)p(D|w)p(D∣w),我们指的是在给定参数 www 的情况下,数据 DDD 出现的概率。如果 DDD 代表了所有的数据,包括输入 XXX 和输出 yyy,那么 p(D∣w)p(D|w)p(D∣w) 实际上是数据集中每个数据点 (xi,yi)(x_i, y_i)(xi​,yi​) 出现概率的乘积,假设它们是独立同分布的(i.

2023-11-10 21:51:11 182

原创 self.named_parameters()和weight_decay解释

这样的筛选常用于深度学习中,因为通常我们不对偏置参数应用权重衰减,而只对权重参数应用。这可以帮助防止过拟合,并确保模型的稳定性。这段代码是在PyTorch中对模型的参数进行筛选,以便在优化器中为不同的参数组设置不同的权重衰减(通常称为L2正则化)。

2023-10-30 16:45:14 246

原创 moea中return, risk的计算

但在实际应用中,由于市场的有限性和资产之间的相关性,投资组合的方差会受到一定的限制。其中x是一个向量,表示对每个股份的投资比例,s是各个股份的回报return的标准差,c是各个股份的return之间的协方差矩阵。这意味着最低的风险是没有风险,但在实际的金融市场中,这几乎是不可能的,除非投资的是无风险资产,如某些国债。其中x是一个向量,表示对每个股份的投资比例,r是各个股份的回报return的均值。总之,投资组合的方差的下界是0,而上界在实际应用中会受到市场和资产特性的限制,但理论上没有明确的上界。

2023-10-26 14:58:30 177

原创 WSL的秘钥被修改了要怎么弄

这个错误是因为你在尝试推送到GitHub仓库时,GitHub服务器拒绝了你的公钥。如果上述步骤都不能解决问题,你可能需要重新生成一个新的SSH密钥并添加到你的GitHub账户中。果一切正常,你应该会看到一个欢迎消息,说明你现在可以使用这个SSH密钥与GitHub通信了。这个密钥,你可以为GitHub创建一个新的SSH密钥,并重复上述步骤。要解决这个问题,你需要确保你的私钥对应的公钥已经被添加到你的。如果你使用的是默认的私钥名(如。是一个背景程序,用于管理你的 SSH 私钥,而。这将显示你的公钥内容。

2023-10-26 14:53:30 284

原创 带温度的softmax

用pytorch写一下使用带有温度的softmax的demo。

2023-10-21 17:49:01 310

原创 似然函数和贝叶斯的关系

似然函数(Likelihood Function)是统计学和概率论中的一个重要概念。它通常用于估计参数或进行统计推断。似然函数描述了在给定模型下,观察到特定数据的概率,或者说是数据对于参数的条件分布。似然函数通常表示为 L(θ | x) 或 L(θ;L 表示似然函数。θ 表示一个或多个参数,这些参数是需要估计的。x 表示已观察到的数据。似然函数的主要思想是,它衡量了在给定参数 θ 下,观察到数据 x 的概率。在某种程度上,似然函数可以被视为参数 θ 的函数,其取决于数据 x。

2023-10-19 23:41:31 352

原创 MLE<=> KL

但是,在实际的最大似然估计中,我们通常使用观测数据的经验分布来代替真实分布,所以我们尝试最大化对数似然函数。这样,通过考虑两者的定义,可以看出MLE实际上是在尝试最小化模型分布与真实分布之间的KL散度。“通过考虑两者的定义,可以看出MLE实际上是在尝试最小化模型分布与真实分布之间的KL散度。,使得参数化的模型分布 Q_日尽可能接近观测数据的经验分布,从而最小化它们之间的KL散度。因此,确实,当你考虑观测数据的经验分布,并将对数似然函数乘以。这与基于经验分布的负对数似然期望是一致的,只是符号相反。

2023-10-19 12:12:37 197

原创 MSE=MLE, 似然函数和极大似然估计的关系

值得注意的是,虽然似然函数和概率函数在形式上看起来相似,但它们的解释和用途是不同的。总结一下,似然函数描述了在给定模型参数时,观察到某一特定数据的可能性,而极大似然估计是一种方法,用于找到使似然函数最大的模型参数值。在线性回归中,当误差(或残差)被假设为正态分布时,最小均方误差(MSE)的最小化与最大似然估计(MLE)是等价的。(硬币正面朝上的概率),观察到当前数据(7次正面和3 次反面) 的“可能性”或“似然”。这意味着,根据我们的观测数据,最有可能的硬币正面朝上的概率是0.7。

2023-10-19 10:54:20 481

原创 CUDA_VISIBLE_DEVICES

请注意,如果在Python脚本中设置此环境变量,它只会影响从该脚本中导入或启动的任何子进程。PyTorch的设备管理:您可以使用torch.cuda.set_device(device_id)来明确设置希望PyTorch使用的设备。这确保只有您指定的GPU对Python进程可见,从而避免占用其他GPU的内存。因此,对于您的Python进程来说,此GPU现在的设备ID为0。某些操作可能会在后台触发GPU的使用。默认行为:PyTorch可能会在第一次调用时初始化所有可用的GPU,即使您指定使用特定的GPU。

2023-10-17 15:43:43 2037

原创 linux服务器在后台运行程序

在这个特定的上下文中,'2’代表标准错误的文件描述符,‘1’代表标准输出的文件描述符。通过使用’2>&1’,你告诉系统将标准错误重定向到与标准输出相同的地方,这意味着两者的输出都将写入到同一个地方,即前面提到的"1.log"文件。综合来说,这个命令的作用是在后台以无缓冲模式运行Python脚本"train.py",将其标准输出和标准错误输出写入到文件"1.log",并使其在你退出终端或SSH会话后继续运行。Tmux在终端中的使用使其成为系统管理员、开发人员和其他需要在终端上进行多任务处理的人员的有用工具。

2023-10-12 11:53:27 87

原创 nn.Linear(d, num_units, bias=True)设置bias和不设置bias有什么区别?

通常,在大多数场景中,默认启用偏置是有利的,因为它增加了模型的表达能力,而额外的计算成本相对较小。但在某些特定的架构或应用中,可能会选择禁用偏置。是PyTorch中定义的一个全连接线性层。参数决定是否在这个线性变换中添加一个偏置项。是输出特征的数量,而。

2023-10-04 18:34:42 763

原创 Diffusion——moea

【代码】Diffusion——moea。

2023-10-04 12:23:17 46

原创 AgeDB(data.Dataset)

数据集类是为年龄估计任务设计的。它加载图像并为每个图像提供与其相关的年龄标签。此外,该类还支持为每个样本提供权重,这在训练不均衡数据集时非常有用。权重的目的是在训练过程中为不同的样本提供不同的重要性,从而改善模型的性能。这个类旨在为AgeDB数据集提供一个结构,从而方便地加载、处理和提供图像数据及其相关标签。这段代码定义了一个名为。的数据集类,该类继承自。

2023-10-03 21:33:11 346

原创 plt的color,marker, legend的位置设置

blue’‘green’‘red’‘cyan’‘magenta’‘yellow’‘black’‘white’‘purple’‘orange’‘pink’ 等等。

2023-09-23 11:56:43 1602

原创 读取csv文件

文件1.csv的内容如上,第一行表明了两列分别为return和risk,现在想读取文件的内容,并将return变为正数,然后删除变为正数后的return>0.1所对应的那一整行数据(即同时删除那一行的return和对应的risk)运行这段代码后,您将得到一个名为“修改后的文件1.csv”的CSV文件,其中包含了经过处理后的数据。这个文件中不包含 return 大于0.1的行,同时对应的 risk 也已被删除。注意,这里的return是正数了,因为在上面的代码中,把所有的return都取正数了。

2023-09-23 11:52:47 92

原创 environment.yaml或者requirements.txt

想把当前的环境moea也写成environment.yaml或者requirements.txt,方便别人安装。

2023-09-22 19:39:14 893

原创 查看显存和内存大小

如果内存不足,操作系统可能会使用磁盘作为“虚拟内存”,但这样会大大降低系统性能,因为磁盘的读写速度远低于内存。请注意,由于WSL实际上是运行在Windows之上的,因此显示的内存信息实际上是分配给WSL实例的内存大小,而不是整个物理机或主操作系统的内存大小。在WSL(Windows Subsystem for Linux)或者linux的终端,您可以使用多种方法来查看系统的内存(RAM)大小。下图中的,“24576MiB”就是GeForce RTX 3090的显存大小,换算成GB大约是24GB。

2023-09-22 19:26:39 1083

原创 在github上设置不同分支,方便回滚

之前在github上上传了一个项目代码,现在我在自己电脑的WSL上对项目代码进行了一定的修改,我想把修改后的代码push到github中,并且想在github上同时保存上一个版本的代码,以便及时回滚,那我需要怎么做。这是因为该分支目前仅存在于您的本地仓库中,还没有被推送到远程GitHub仓库。这样,您就可以在GitHub上保存多个版本的代码,并有能力随时回滚到任何一个版本。如果您希望保存旧版本的代码以便随时回滚,您可以使用Git的分支功能。分支推送到远程仓库,您可以直接进行推送操作,而跳过拉取(

2023-09-22 17:07:40 590

原创 设置github的默认分支

但当您已经在一个现有的仓库中并处于某一特定分支上时,执行git pull命令通常会拉取该分支与其对应的远程分支(upstream)之间的更改,而不是默认分支的更改。如果您处于一个名为gpuVersion的分支上,执行git pull会尝试从远程仓库的同名分支(在这种情况下是origin/gpuVersion)拉取代码到本地的gpuVersion分支。总体而言,git pull操作是依赖于您当前所处的本地分支和该分支的远程跟踪设置,而不是远程仓库的默认分支设置。点击那个交换箭头,可以进行。

2023-09-22 16:37:20 1397 1

原创 GAN里面什么时候用detach的说明

的fake_data进行detach,是因为下面的代码只有g_loss_backward(),也就是只对G进行参数更新,当然这里也不能对fake_data进行detach,如果detach了,就无法更新G的参数了。在生成对抗网络(GAN)中,生成器(G)和判别器(D)通常是两个独立的神经网络,它们之间会有梯度传播的互动。生成的, 为了保证分开训练判别器和生成器,即在训练判别器的时候,不对生成器的参数进行更新,这里就要把。在训练生成器时, 也用到了判别器,用判别器去判别生成器生成的内容,希望判别器能把。

2023-09-22 11:52:21 527

原创 MOEA算法的背景知识

在进化算法中,这些术语用于描述算法的迭代过程,其中“父代”或“上一代”通过交叉和变异操作产生“子代”或“新一代”,然后这些“新一代”设计被用于下一轮的迭代和评估。在算法的每一代迭代中,都会从当前种群中选出一些“优秀”的个体进行交叉和变异操作,生成新的个体(或解),这些新生成的个体会与当前种群中的个体一起,根据目标函数或多个目标函数进行评估和排序,从而形成下一代种群。在上面的无人机设计的例子中,如果我们采用固定种群大小的策略,那么即使进行了交叉和变异,种群中无人机设计的数量还是会保持为10个。

2023-09-20 19:38:39 219

原创 GAN实现mnist生成

nn.Sigmoid() # sigmoid结果为(0,1)latent_size = 64 # latent_size,相当于初始噪声的维数nn.ReLU(),nn.ReLU(),nn.Tanh() # 转换至(-1,1)# 放到gpu上计算(如果有的话)# 定义损失函数、优化器、学习率。

2023-09-19 14:50:09 416

原创 moea项目的问题解决方案

修改了run_benchmark.sh的line22->line23。

2023-09-19 00:23:40 146

原创 数据不平衡GPT调研

简单地说,局部最优解是某个区域内的最低点,但不一定是整个函数的最低点(全局最优解)。换句话说,在局部最优解附近,所有其他点的函数值都比该点高,但这个点不一定是整个函数上的最低点。

2023-09-18 19:47:10 461

原创 上传项目到github上

在github上新建一个仓库,点击你的头像,然后在出来的侧边栏选择点击New创建一个新的仓库,即repository输入你的仓库名称,选择public 或者 private.尽量不要勾选README如果你的本地项目有readme文件的话,你在push的时候可能会有冲突,就需要–force处理public是公开的,其他人也可以看到你的项目private是私人的,其他人无法看到你的项目。

2023-09-18 17:39:15 676

原创 txt文件放到WSL里面是乱码的情况

如果你的txt文件仍然显示为乱码,那可能是因为该文件本身并不是UTF-8编码。在Windows下将文件重新保存为UTF-8编码。输出C.UTF-8意味着你的环境已经使用UTF-8作为字符编码。这通常是一个好的设置,应该能够正常显示汉字。,然后再在WSL中打开,就可以正常显示啦。将你的原始文件另存为一个txt,

2023-09-18 16:19:46 154

原创 更新GitLab上的项目

(这会添加所有更改的文件,如果只想添加特定文件,用git add [文件名])(这里的master是主分支名,如果你使用了不同的分支名,请相应地修改)你可以使用:git remote -v来查看是否添加过远程仓库。这样你的GitLab上的项目就会更新到最新版本。如果你已经添加过远程仓库,这一步可以跳过。1.打开终端,进入到本地项目的根目录。下面是已经添加过的展示。

2023-09-18 10:16:15 419

原创 神经网络中的权重和偏置初始化

【代码】神经网络中的权重和偏置初始化。

2023-09-17 13:11:02 843

原创 查看运行程序终端的PID

不同的终端会话(或窗口)会有不同的进程ID(PID)。每当你开启一个新的终端窗口或会话时,都会创建一个新的进程,因此也会有一个新的PID。在Unix或Linux系统中,你可以在每个终端窗口中运行。这会返回一个列表,其中应该包括你想找的运行train.py的终端进程。该列表通常会显示该进程的PID、使用的资源、运行状态等信息。使用另一个终端窗口查找:打开一个新的终端窗口,然后使用ps命令加一些过滤条件来找到你正在寻找的终端的PID。在多任务和多进程环境中,这样的设计是非常有用的。29:11: 进程运行时间。

2023-09-16 15:42:10 277

原创 文件夹下的mp4文件数量

这个命令会使用 ls 列出当前文件夹中所有的 .mp4 文件,并通过 wc -l 命令计算行数,从而得到 .mp4 文件的数量。wc: 这是 “word count”(词数统计)的缩写,是一个用于计算文本行数、字数和字符数的命令。ls: 这是 Linux 和 Unix 系统中的一个命令,用于列出目录中的文件和子目录。使用 ls -1 命令列出当前目录中所有以 “.mp4” 结尾的文件,每个文件占据一行。使用 wc -l 命令统计输入的行数,也就是 “.mp4” 文件的数量。

2023-08-30 10:33:42 127

原创 上传WSL项目到gitlab

SSH 是一种网络协议,具备协议级别的认证及会话管理等功能。另外在架设 SSH 服务方面,任何人都可以轻易地创建安全等级高的服务。相比而言 HTTP 协议则没有上述的特点。在WSL(Windows Subsystem for Linux)中,SSH公钥通常存储在用户的~/.ssh目录下。具体的文件名通常是 id_rsa.pub(对于RSA密钥)或其他与使用的密钥算法有关的名称。

2023-08-25 15:14:08 1230

原创 transform_train.json文件解析

每个部分的含义如上所述,它们一起组成了一个完整的变换矩阵,将输入的点或向量转换为输出的点或向量。:这个矩阵描述了一个帧的变换信息,通常是相机的变换矩阵,用于将物体从世界坐标系变换到相机坐标系。这个矩阵的每一行表示变换矩阵的一行,前三行是旋转和缩放部分,最后一行是平移部分。r_11, r_12, r_13:表示变换后的 x 轴方向的单位向量。r_21, r_22, r_23:表示变换后的 y 轴方向的单位向量。r_31, r_32, r_33:表示变换后的 z 轴方向的单位向量。表示变换矩阵的最后一行。

2023-08-23 14:39:24 440

原创 pyrallis库

使用pyrallis,您的配置直接链接到预定义的数据类,允许您使用面向对象的设计轻松创建不同的配置结构,包括嵌套结构。解析后的参数用于初始化数据类,为您提供键入提示和完整数据类对象的自动代码完成。pyrallis有几个关键特性,但pyrallis的核心只是允许使用数据类定义参数解析器。然后可以使用命令行参数、yaml配置文件或两者同时指定参数。假设你的yaml配置文件内容为:Key Features关键特性基于这种设计,pyrallis提供了一些非常有趣的功能,包括然后可以通过命令行来传递conf

2023-08-18 15:22:28 227

原创 @pyrallis.wrap()

当你调用 my_function() 时,Pyrallis 将收集函数执行的时间、内存使用等性能数据,并可能输出或记录这些数据,以便你可以了解函数的性能表现。@pyrallis.wrap() 是一个 Python 装饰器(Decorator),用于将函数或方法包装在 Pyrallis 框架提供的性能分析器中。在你提供的代码中,@pyrallis.wrap() 装饰器会将下面的函数或方法包装在 Pyrallis 框架的性能分析器中,以便在函数执行期间收集性能数据。

2023-08-18 10:36:52 270 1

原创 VideoDiffusionModels

例如:我们有一个视频序列,每一帧都是一个4x4的图像,我们把每个像素当作一个patch,那我们就有16个patch,如果用joint space-time attention(ST)策略,那我们就需要计算每一帧的16个patch与其他所有帧的16个patch之间的注意力权重,这样就会产生很多冗余的计算,但是如果我们用固定注意力矩阵的策略,那我们就只需要计算每一帧的16个patch与自己的16个patch之间的注意力权重,这样就可以大大减少计算量和内存消耗。也就是进行帧与帧之间的attention计算。

2023-08-16 17:29:58 357 2

原创 3D Unet的卷积

如果我们使用一个3D Unet网络,下采样部分有4个3D卷积层,每个层的卷积核数量为16、32、64、128,卷积核大小为(3, 3, 3),步长为2,填充为1,那么下采样部分的输出形状就是(batch, 128, 1, 8, 8)。如果我们使用一个3D Unet网络,上采样部分有4个3D反卷积层,每个层的卷积核数量为64、32、16、1,卷积核大小为(3, 3, 3),步长为2,填充为1,那么上采样部分的输出形状就是(batch, 1, 16, 64, 64)。这样就恢复了视频序列的帧数。

2023-08-16 15:44:44 269

原创 MeshLab使用技巧

旋转看这个旋转+平移看这个截图时去除旋转圈三维点云重建以及三维点云法向量计算

2023-08-15 15:03:22 110

原创 obj文件内容解读

OBJ文件格式是一种简单的数据格式,用于表示三维几何(包括纹理和光照),最初由Wavefront Technologies为其高级动画软件开发。由于其简单的结构和易于阅读的ASCII格式,它已经成为一种流行的3D模型交换格式。

2023-08-15 15:03:09 1127 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除