摘要:
这里置顶一个索引吧,方便所有人查找。 基础与技巧: matlab练习程序(Schur补) matlab练习程序(正交分解) matlab练习程序(GPU加速) matlab练习程序(生成gif图片) matlab练习程序(克莱姆法则解方程) matlab练习程序(读取列不一致的数据) matlab练 阅读全文
摘要:
简单训练了一个模型,可以实现超分辨率效果。模型在这里。 模型用了一些卷积层,最后接一个PixelShuffle算子。 训练数据是原始图像resize后的亮度通道。 标签是原始图像的亮度通道。 损失函数设为MSE。 代码如下: import torch import torch.nn as nn im 阅读全文
摘要:
截止这篇笔记,llama.cpp主分支暂时不支持部署VL模型,需要切到一个分支上编译。部署流程整理自这个帖子。 部署流程如下: 1. 在modelscope上将Qwen2-VL-7B-Instruct下载下来。 2. 下载llama.cpp,需要下载这个分支。 3. 编译llama.cpp,流程和上 阅读全文
摘要:
这里选用Qwen2.5-7B-Instruct做例子,其他LLM类似。 VL用这个流程暂时还不行,不过我看到llama.cpp有在讨论这个问题,我验证了也是可行的,后面整理一下。 这里部署流程如下: 1. 在modelscope上将Qwen2.5-7B-Instruct下载下来。 2. 在ggerg 阅读全文
摘要:
变分自编码器(VAE,Variational Auto-Encoder)是一种生成模型,它通过学习数据的潜在表示来生成新的样本。 在学习潜空间时,需要保持生成样本与真实数据的相似性,并尽量让潜变量的分布接近标准正态分布。 VAE的基本结构: 1. 编码器(Encoder):将输入数据转换为潜在空间的 阅读全文
摘要:
在做深度学习的时候,尤其是在没有界面的服务器上训练时,可以利用tensorboard工具输出各种曲线或中间图像。 下面代码将曲线和图像输出到run目录下临时文件中。 from tensorboardX import SummaryWriter from PIL import Image import 阅读全文
摘要:
在做深度学习的时候经常会在这四种格式上互转。 转换时有几个需要注意的点: 1. np和cv2都能通过cv2.imshow显示出来。 2. torchvision的transforms会把HWC转为CHW。 3. from_numpy读取的HWC还是HWC,需要额外对tensor旋转。 4. pil和 阅读全文
摘要:
模型参数直方图可以展示模型参数在训练过程中的分布情况。 通过直方图,可以了解模型的学习状态,识别过拟合或欠拟合问题,从而进行模型调优。 下面以ResNet18为例,显示了不同层的参数直方图。 import torchvision from matplotlib import pyplot as pl 阅读全文
摘要:
可视化卷积核参数对理解卷积神经网络的工作原理、优化模型性能、提高模型泛化能力有一定帮助作用。 下面以ResNet18为例,可视化了部分卷积核参数。 import torchvision from matplotlib import pyplot as plt import torch model = 阅读全文
摘要:
和FCN类似,UNet是另一个做语义分割的网络,网络从输入到输出中间呈一个U型而得名。 相比于FCN,UNet增加了更多的中间连接,能够更好处理不同尺度上的特征。 网络结构如下: 下面代码是用UNet对VOC数据集做的语义分割。 import torch import torch.nn as nn 阅读全文
摘要:
深度学习中有些数据集可能不符合imagenet计算出的均值和标准差,需要根据自己的数据集单独计算。 下面这个脚本能够计算当前数据集均值和标准差。 import torch import os from PIL import Image from torchvision import transfor 阅读全文