<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[bxdzyhx的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/bxdzyhx</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bxdzyhx]]></copyright><item><title><![CDATA[解决 Unknown compute capability.Specify the target compute capabilities in the TCNN_CUDA_ARCHITECTURES]]></title><link>https://blog.youkuaiyun.com/bxdzyhx/article/details/131544802</link><guid>https://blog.youkuaiyun.com/bxdzyhx/article/details/131544802</guid><author>bxdzyhx</author><pubDate>Tue, 04 Jul 2023 22:48:02 +0800</pubDate><description><![CDATA[安装torch-cuda-nn时出现的问题：Unknown compute capability. Specify the target compute capabilities in the TCNN_CUDA_ARCHITECTURES environment variable or install PyTorch with the CUDA backend to detect it automatically.]]></description><category></category></item><item><title><![CDATA[CMU DB项目bustub进行cmake ..时下载googletest时GIT_TAG出错]]></title><link>https://blog.youkuaiyun.com/bxdzyhx/article/details/125011242</link><guid>https://blog.youkuaiyun.com/bxdzyhx/article/details/125011242</guid><author>bxdzyhx</author><pubDate>Fri, 27 May 2022 21:28:07 +0800</pubDate><description><![CDATA[CMU 15445
报错：
在$ cmake . . 这一步出错：
Cloning into ‘googletest-src’…
fatal: invalid reference: master
CMake Error at googletest-download/googletest-prefix/tmp/googletest-gitclone.cmake:40 (message):
Failed to checkout tag: ‘master’
make[2]: [CMakeFiles/googlet]]></description><category></category></item><item><title><![CDATA[pytorch shuffle tensor的函数（打乱张量）]]></title><link>https://blog.youkuaiyun.com/bxdzyhx/article/details/122442597</link><guid>https://blog.youkuaiyun.com/bxdzyhx/article/details/122442597</guid><author>bxdzyhx</author><pubDate>Tue, 11 Jan 2022 21:53:23 +0800</pubDate><description><![CDATA[np.random.shuffle能打乱numpy，但是对tensor没用
查阅资料后发现，可以用torch.randperm实现
if __name__ == '__main__':

    # init
    t = torch.tensor([[1,2],[3,4]])
    print(t)

    # shuffle tensor
    idx = torch.randperm(t.nelement())
    t = t.view(-1)[idx].view(t.size())
  ]]></description><category></category></item><item><title><![CDATA[nn.Linear和kernel=1的nn.Conv的区别]]></title><link>https://blog.youkuaiyun.com/bxdzyhx/article/details/121325808</link><guid>https://blog.youkuaiyun.com/bxdzyhx/article/details/121325808</guid><author>bxdzyhx</author><pubDate>Sun, 14 Nov 2021 23:20:15 +0800</pubDate><description><![CDATA[相同点：
都是线性运算，可以看成矩阵相乘，感受野都为1
不同点：
pytorch中初始化方案不同，nn.Conv有更好的初始化
速度不同，Linear的速度要比nn.Conv快一个数量级，因为Linear是用高效的矩阵相乘实现的，而Conv是卷积核移动实现的
输入尺寸不同，Conv是[batch, input_channel, H, W,…]，linear是[batch, …, input_channel]但这一点其实不重要
linear速度快很多，如果tensor的尺寸方便调整的话还是建议用linear。]]></description><category></category></item><item><title><![CDATA[pytroch .require_grad不起作用/无效]]></title><link>https://blog.youkuaiyun.com/bxdzyhx/article/details/120571983</link><guid>https://blog.youkuaiyun.com/bxdzyhx/article/details/120571983</guid><author>bxdzyhx</author><pubDate>Thu, 30 Sep 2021 20:19:42 +0800</pubDate><description><![CDATA[试了半天，发现代码放在了with torch.no_grad()里，取消掉就好了。

]]></description><category></category></item><item><title><![CDATA[pytorch 对tensor进行高斯模糊]]></title><link>https://blog.youkuaiyun.com/bxdzyhx/article/details/120403956</link><guid>https://blog.youkuaiyun.com/bxdzyhx/article/details/120403956</guid><author>bxdzyhx</author><pubDate>Tue, 21 Sep 2021 18:08:30 +0800</pubDate><description><![CDATA[# From https://discuss.pytorch.org/t/is-there-anyway-to-do-gaussian-filtering-for-an-image-2d-3d-in-pytorch/12351/3
import torch
import math
import torch.nn as nn

def get_gaussian_kernel(kernel_size=3, sigma=2, channels=3):
    # Create a x, y coordinate ]]></description><category></category></item><item><title><![CDATA[stylegan中Equallinear, EqualConv和PixelNorm的来源，作用和原理]]></title><link>https://blog.youkuaiyun.com/bxdzyhx/article/details/120325504</link><guid>https://blog.youkuaiyun.com/bxdzyhx/article/details/120325504</guid><author>bxdzyhx</author><pubDate>Thu, 16 Sep 2021 11:29:52 +0800</pubDate><description><![CDATA[实际上stylegan是借鉴了PROGRESSIVE  GAN 这篇文章。
Equallinear和EqualConv的作用和原理：
基于linear和conv，通过缩放网络权重，使得每一层的参数的学习率能够保持一致，从而能增强GAN的稳定性，改善图像质量。
原文：
We deviate from the current trend of careful weight initialization, and instead use a trivial N (0, 1) initialization and ]]></description><category></category></item><item><title><![CDATA[[论文阅读]Uncertainty Principles of Encoding GANs]]></title><link>https://blog.youkuaiyun.com/bxdzyhx/article/details/120313776</link><guid>https://blog.youkuaiyun.com/bxdzyhx/article/details/120313776</guid><author>bxdzyhx</author><pubDate>Wed, 15 Sep 2021 17:49:52 +0800</pubDate><description><![CDATA[这篇主要是理论推导比较多，太复杂了，先占个坑，翻译一下introduction。
本文的结论：
a）“完美”的编码器和生成器不能同时连续，这意味着当前编码 GAN 的框架是不适定的，需要重新思考；
a) the ‘perfect’ encoder and generator cannot be continuous at the same time, which implies that current framework of encoding GANs is ill-posed and needs r.]]></description><category></category></item><item><title><![CDATA[[论文阅读]Semantic Segmentation with Generative Models]]></title><link>https://blog.youkuaiyun.com/bxdzyhx/article/details/120313439</link><guid>https://blog.youkuaiyun.com/bxdzyhx/article/details/120313439</guid><author>bxdzyhx</author><pubDate>Wed, 15 Sep 2021 17:39:07 +0800</pubDate><description><![CDATA[标题
Semantic Segmentation with Generative Models:
Semi-Supervised Learning and Strong Out-of-Domain Generalization
链接：
https://openaccess.thecvf.com/content/CVPR2021/html/Li_Semantic_Segmentation_With_Generative_Models_Semi-Supervised_Learning_and_Strong_O.]]></description><category></category></item><item><title><![CDATA[pytorch 优化器采取不同学习率]]></title><link>https://blog.youkuaiyun.com/bxdzyhx/article/details/120280068</link><guid>https://blog.youkuaiyun.com/bxdzyhx/article/details/120280068</guid><author>bxdzyhx</author><pubDate>Tue, 14 Sep 2021 09:05:27 +0800</pubDate><description><![CDATA[def configure_optimizers(self):
    params = list(model.named_parameters())

    def is_backbone(n): return 'bert' in n

    grouped_parameters = [
        {"params": [p for n, p in params if is_backbone(n)], 'lr': args.lr},
        {"params": [p for n, p.]]></description><category></category></item><item><title><![CDATA[pytorch 只保留tensor的最大值或最小值，其他位置置零]]></title><link>https://blog.youkuaiyun.com/bxdzyhx/article/details/120252197</link><guid>https://blog.youkuaiyun.com/bxdzyhx/article/details/120252197</guid><author>bxdzyhx</author><pubDate>Sun, 12 Sep 2021 16:29:44 +0800</pubDate><description><![CDATA[如下，x是输入张量，dim指定维度，max可以替换成min

import torch

if __name__ == '__main__':
    
    x = torch.randn([1, 3, 4, 4]).cuda()

    mask = (x == x.max(dim=1, keepdim=True)[0]).to(dtype=torch.int32)
    result = torch.mul(mask, x)

    print(x)
    print(mask)
    p]]></description><category></category></item><item><title><![CDATA[[论文阅读]SofGAN: A Portrait Image Generator with Dynamic Styling]]></title><link>https://blog.youkuaiyun.com/bxdzyhx/article/details/120166119</link><guid>https://blog.youkuaiyun.com/bxdzyhx/article/details/120166119</guid><author>bxdzyhx</author><pubDate>Tue, 07 Sep 2021 21:43:46 +0800</pubDate><description><![CDATA[SofGAN能产生效果很好，且能进行编辑的多视角图像。
SofGAN的核心是其中的SIW-StyleGAN。SIW-StyleGAN以2D分割图和texture code作为输入，改变2D分割图和texture code就能进行多属性编辑。
这个2D分割图可以来自手动绘制，也可以由shape code自动生成。
总而言之，生成一个图片需要texture code和shape code。
shape code（z_g）决定了3D形状，用于生成3D分割图。
texture code（z_t）决定图像纹理，被用.]]></description><category></category></item><item><title><![CDATA[[论文阅读]Designing an Encoder for StyleGAN Image Manipulation]]></title><link>https://blog.youkuaiyun.com/bxdzyhx/article/details/120156682</link><guid>https://blog.youkuaiyun.com/bxdzyhx/article/details/120156682</guid><author>bxdzyhx</author><pubDate>Tue, 07 Sep 2021 19:39:32 +0800</pubDate><description><![CDATA[主要工作：
提出什么样的encoder（image-&gt;latent code）具有更好的编辑性和更小的失真
答案：图片逆映射接近W空间的encoder是好的
验证encoder的好坏用到了styleflow等其他论文中的方法
1 Abstact &amp; Intro
要用利用预训练的stylegan进行图像编辑，需要将图像映射到stylegan的latent space。
stylegan的latent space中存在两种权衡：
（1）扭曲-编辑权衡	distortion-editability.]]></description><category></category></item><item><title><![CDATA[[论文阅读]StyleFlow]]></title><link>https://blog.youkuaiyun.com/bxdzyhx/article/details/120153359</link><guid>https://blog.youkuaiyun.com/bxdzyhx/article/details/120153359</guid><author>bxdzyhx</author><pubDate>Tue, 07 Sep 2021 10:48:58 +0800</pubDate><description><![CDATA[用标准化流建立z和w之间的可逆映射，同时按照FiLM特征插入的方法将attribute classifier得到的属性at插入标准化流。从而能通过改变at来改变图像。
参考：
https://zhuanlan.zhihu.com/p/171761416

]]></description><category></category></item><item><title><![CDATA[pytorch/python 用pyinstrument统计代码段运行时间]]></title><link>https://blog.youkuaiyun.com/bxdzyhx/article/details/119776268</link><guid>https://blog.youkuaiyun.com/bxdzyhx/article/details/119776268</guid><author>bxdzyhx</author><pubDate>Wed, 18 Aug 2021 11:28:27 +0800</pubDate><description><![CDATA[用法：
from pyinstrument import Profiler

profiler = Profiler()
profiler.start()

# code you want to profile

profiler.stop()
profiler.print()

官网：pyinstrument 
例子：
from pyinstrument import Profiler
import torch

if __name__ == '__main__':
    profiler = Prof]]></description><category></category></item><item><title><![CDATA[riscv标准指令集和扩展指令集对应的opcode、funct3、funct7等的值（I/M/A/F/D等等）]]></title><link>https://blog.youkuaiyun.com/bxdzyhx/article/details/118057390</link><guid>https://blog.youkuaiyun.com/bxdzyhx/article/details/118057390</guid><author>bxdzyhx</author><pubDate>Sat, 19 Jun 2021 18:27:44 +0800</pubDate><description><![CDATA[方法1 查阅别人做好的表格
RISCV-Card
可以去这个库里下载pdf。





方法2 查阅riscv的github库
网上找了好久都没找到，后来才发现github的riscv-tools库中有所有指令的opcode……
Github链接：riscv-tools、riscv-opcode

我这里是从riscv-tools库中复制过来的。
怎么根据这个文件知道一个指令对应的opcode呢？
举个例子，假如我想知道32位add的opcode，从文件中找到add：
add     rd rs1 rs2 ]]></description><category></category></item><item><title><![CDATA[riscv-sodor踩坑记录]]></title><link>https://blog.youkuaiyun.com/bxdzyhx/article/details/118023655</link><guid>https://blog.youkuaiyun.com/bxdzyhx/article/details/118023655</guid><author>bxdzyhx</author><pubDate>Sat, 19 Jun 2021 12:35:55 +0800</pubDate><description><![CDATA[讲的不是很清楚，有不懂的可以直接在评论区问我，我有空就回答。
1.使用idea进行编程时和直接在命令行工具进行编译时build.sbt设置是不一样的
在命令行工具进行编译（在命令行直接make）时需要通过scalaSource in Compile这种语句指明哪些是Source file，不然make的时候它会找不到的。

在idea intellij运行时，采用这种方法

总之，我的build.sbt是这样的：

val chiselVersion = System.getProperty("chisel]]></description><category></category></item><item><title><![CDATA[chipyard环境下仿真risc-v教程（1）：运行chipyard中的默认案例]]></title><link>https://blog.youkuaiyun.com/bxdzyhx/article/details/117969179</link><guid>https://blog.youkuaiyun.com/bxdzyhx/article/details/117969179</guid><author>bxdzyhx</author><pubDate>Wed, 16 Jun 2021 23:21:31 +0800</pubDate><description><![CDATA[官网教程：链接
步骤
（1）按照官网教程安装好chipyard
chipyard中已经包含了所需的toolchain和verilator，不用自己再去下载一遍，chipyard网上教程还是蛮多的，官网也有教程，这里暂时不放了。
（2）进入verilator目录
cd chipyard/sims/verilator

（3）编译chipyard中的default example
make

一段时间后，会生成一个叫simulator-chipyard-RocketConfig的文件，接下来可以利用这个文件来运]]></description><category></category></item><item><title><![CDATA[[Sodor]运行tracer.py文件出现 AttributeError: ‘module‘ object has no attribute ‘lru_cache‘]]></title><link>https://blog.youkuaiyun.com/bxdzyhx/article/details/117961435</link><guid>https://blog.youkuaiyun.com/bxdzyhx/article/details/117961435</guid><author>bxdzyhx</author><pubDate>Wed, 16 Jun 2021 16:33:34 +0800</pubDate><description><![CDATA[发生原因：
跑riscv sodor模型时出现的问题
发现是因为ubuntu自带的python版本太低，需要安装python3.7
可参考下面的链接在ubuntu上安装高版本python：
https://blog.youkuaiyun.com/weixin_43790276/article/details/89439643

]]></description><category></category></item><item><title><![CDATA[Pytorch报错：One of the differentiated Tensors does not require grad]]></title><link>https://blog.youkuaiyun.com/bxdzyhx/article/details/117090471</link><guid>https://blog.youkuaiyun.com/bxdzyhx/article/details/117090471</guid><author>bxdzyhx</author><pubDate>Thu, 20 May 2021 19:53:07 +0800</pubDate><description><![CDATA[原因：
用到了autograd.grad求导函数，而其中一个求导变量require_grad属性是False
解决方法
单步调试发现，原来是建立变量的时候没有设置requires_grad=True，因此改成True就好了。
torch.randn(batch, latent_dim, device=device, requires_grad=True)

...]]></description><category></category></item></channel></rss>