<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[智障变智能]]></title><description><![CDATA[总结学习和工作遇见的一些问题和解决办法]]></description><link>https://blog.youkuaiyun.com/fanzonghao</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fanzonghao]]></copyright><item><title><![CDATA[指令与条件码]]></title><link>https://blog.youkuaiyun.com/fanzonghao/article/details/124911828</link><guid>https://blog.youkuaiyun.com/fanzonghao/article/details/124911828</guid><author>fanzonghao</author><pubDate>Sun, 22 May 2022 16:46:10 +0800</pubDate><description><![CDATA[一.ALU:算数逻辑单元

ALU从寄存器中读取数据后，执行相应的运算，在返回目的寄存器rdx中．简单示例如下图



当然ALU除了执行算术和逻辑运算指令以外，还会根据运算结果去设置条件码寄存器．



二.条件码寄存器:

长度为单个比特位





CF检测溢出,ZF检测零也就是说a+b结果为１, ZF为0,其他类似

相应c代码与汇编例子:









三.嵌套数组:



地址计算:xd起始地址,L表示数据类型T的大小，对于int就是...]]></description><category></category></item><item><title><![CDATA[程序的机器级表示]]></title><link>https://blog.youkuaiyun.com/fanzonghao/article/details/124783459</link><guid>https://blog.youkuaiyun.com/fanzonghao/article/details/124783459</guid><author>fanzonghao</author><pubDate>Sun, 15 May 2022 16:28:28 +0800</pubDate><description><![CDATA[一.生成汇编:

1)对于c gcc -S mstore.c

2)对于cpp:g++ -Smstore.cpp



pushq: 将寄存器rbx的值压入程序栈进行保存

movq:寄存器rbx的值与rdx的值一致，都是dest指针所指向的内存地址

popq:在函数返回前，恢复rbx的内容

ret:函数返回



intel64位处理器包含16个通用目的的寄存器，这些寄存器用来存放整数数据和指针．如图下





调用者保存寄存器和被调用者保存寄存器，例如函数A调用函数B,B中rbx寄存器被修改...]]></description><category></category></item><item><title><![CDATA[好用工具推荐]]></title><link>https://blog.youkuaiyun.com/fanzonghao/article/details/124126020</link><guid>https://blog.youkuaiyun.com/fanzonghao/article/details/124126020</guid><author>fanzonghao</author><pubDate>Tue, 12 Apr 2022 15:50:21 +0800</pubDate><description><![CDATA[一.画图软件

图形计算器




]]></description><category></category></item><item><title><![CDATA[MSE与FC作用]]></title><link>https://blog.youkuaiyun.com/fanzonghao/article/details/124125307</link><guid>https://blog.youkuaiyun.com/fanzonghao/article/details/124125307</guid><author>fanzonghao</author><pubDate>Tue, 12 Apr 2022 15:32:12 +0800</pubDate><description><![CDATA[一.MSE作用







在做super resolution的时候，如果用MSE，做出来的图片会非常的模糊，就是因为MSE是基于高斯分布假设，最后的结果会尽可能地靠近高斯分布最高的地方，使得结果不会太sharp。



二.FC作用





转载:

为什么回归问题用MSE？

全连接层的作用是什么？
...]]></description><category></category></item><item><title><![CDATA[CSAPP--浮点数]]></title><link>https://blog.youkuaiyun.com/fanzonghao/article/details/123609678</link><guid>https://blog.youkuaiyun.com/fanzonghao/article/details/123609678</guid><author>fanzonghao</author><pubDate>Sun, 20 Mar 2022 11:52:34 +0800</pubDate><description><![CDATA[一.定点表示小数

缺点:表示不了很大的数







二.IEEE关于浮点数表示法

float32:符号位1位，阶码字段:8位,小数点为23位

float32:符号位1位，阶码字段:11位,小数点为52位





三.浮点数的数值类型

1.规格化值

2.非规格值

3.特殊值

而阶码的值决定其属于那一类



当阶码的二进制不为0和255时，表示规格化值;

当阶码的二进制全为0时，表示非规格化值;

当阶码的二进制全为1时，表示特殊化值，其包含两类一类是无穷大或无穷小，一类不是一个数(..]]></description><category></category></item><item><title><![CDATA[CSAPP--整数的运算]]></title><link>https://blog.youkuaiyun.com/fanzonghao/article/details/123468301</link><guid>https://blog.youkuaiyun.com/fanzonghao/article/details/123468301</guid><author>fanzonghao</author><pubDate>Sun, 13 Mar 2022 23:01:11 +0800</pubDate><description><![CDATA[一.无符号数加法运算





二.有符号数加法运算







三.无符号数乘法



截断w位也就是对2\w取模











参考：

【合集】CSAPP-深入理解计算机系统_哔哩哔哩_bilibili
]]></description><category></category></item><item><title><![CDATA[CSAPP--整数的表示]]></title><link>https://blog.youkuaiyun.com/fanzonghao/article/details/123307405</link><guid>https://blog.youkuaiyun.com/fanzonghao/article/details/123307405</guid><author>fanzonghao</author><pubDate>Sun, 06 Mar 2022 11:29:26 +0800</pubDate><description><![CDATA[非负数编码:

负数编码（采用补码即原码取反+1）:



故对于四位补码，最大值为7,最小值为-8

所以各类型负数/非负数范围:



不同字节无符号最大值



不同字节有符号最大值



不同字节有符号最小值



例子:



这是因为虽然位模式不变，但是解释位的方式改变了。
...]]></description><category></category></item><item><title><![CDATA[CSAPP--信息的表示与处理]]></title><link>https://blog.youkuaiyun.com/fanzonghao/article/details/123031345</link><guid>https://blog.youkuaiyun.com/fanzonghao/article/details/123031345</guid><author>fanzonghao</author><pubDate>Sun, 20 Feb 2022 16:02:15 +0800</pubDate><description><![CDATA[虚拟地址空间:







大多数 Intel 兼容机采用小端模式,IBM 和 Sun 公司的机器大多数机器采用大端法。
对于很多新的处理器,支持双端法,可以配置成大端或者小端运行。例如基于 ARM
架构的处理器,支持双端法,但是 Android 系统和 iOS 系统却只能运行在小端模式.

下面是代码测试,获取16进制表示:




#include &lt;stdio.h&gt;
#把指针看成指向一个字节的序列，而不是对象的原始数据类型
typedef unsigned char * byte_p..]]></description><category></category></item><item><title><![CDATA[CSAPP-计算机漫游]]></title><link>https://blog.youkuaiyun.com/fanzonghao/article/details/121879339</link><guid>https://blog.youkuaiyun.com/fanzonghao/article/details/121879339</guid><author>fanzonghao</author><pubDate>Sat, 11 Dec 2021 21:24:18 +0800</pubDate><description><![CDATA[一.编译系统的工作流程:



test.cpp


#include &lt;iostream&gt;
using namespace std;
int main()
{
//hahha
cout&lt;&lt;"hello world"&lt;&lt;endl;
return 0;
}


直接生成可执行程序test

g++ -o test test.cpp



深入解析生成可执行程序test的过程

1.g++ -E test.cpp &gt; test.i

这一步生成test.i进行预处理，.]]></description><category></category></item><item><title><![CDATA[leetcode双指针(python与c++)]]></title><link>https://blog.youkuaiyun.com/fanzonghao/article/details/121583434</link><guid>https://blog.youkuaiyun.com/fanzonghao/article/details/121583434</guid><author>fanzonghao</author><pubDate>Sat, 27 Nov 2021 20:59:14 +0800</pubDate><description><![CDATA[1.字符串的排列

思路:双指针+滑动窗口

python:


class Solution:
    def checkInclusion(self, s1: str, s2: str) -&gt; bool:
        dict_={}
        for i in s1:
            dict_[i] = dict_.get(i,0)+1
        # # print('==dict_:',dict_)
        left,right =0,0
        le]]></description><category></category></item><item><title><![CDATA[形象理解矩阵操作]]></title><link>https://blog.youkuaiyun.com/fanzonghao/article/details/121477863</link><guid>https://blog.youkuaiyun.com/fanzonghao/article/details/121477863</guid><author>fanzonghao</author><pubDate>Mon, 22 Nov 2021 18:57:53 +0800</pubDate><description><![CDATA[线性变换可看着是对空间的挤压伸展。也就是看成把向量中的值对矩阵列向量加权 ,在对向量求和矩阵左乘就是对行向量操作，矩阵右乘就是对列向量操作． 可以将其中一个矩阵看成是多个列向量,在拆开对剩下矩阵执行1操作绕y轴旋转后的旋转向量 即由


 变为


4.行列式

如何量化变换对空间的挤压，拉伸？如下,线性变换面积增加6倍。 a表示对x轴拉伸，b表示对y拉伸  如下,线性变换面积不变。  线性变换改变面积的比例就被称为行列式行列式为0,说明平面被拉伸到线甚至点。行列式为负表示空间被翻转，但是绝对值仍然表示面积]]></description><category></category></item><item><title><![CDATA[leetcode BFS(python+c++)]]></title><link>https://blog.youkuaiyun.com/fanzonghao/article/details/121412885</link><guid>https://blog.youkuaiyun.com/fanzonghao/article/details/121412885</guid><author>fanzonghao</author><pubDate>Thu, 18 Nov 2021 23:49:17 +0800</pubDate><description><![CDATA[1.最小基因变化



思路：bfs搜索

python:


class Solution:
    def minMutation(self, start: str, end: str, bank: List[str]) -&gt; int:
        library = ['A','C', 'G','T']
        queue = [start]
        num = 0
        vis = set()
        while queue:
            s.]]></description><category></category></item><item><title><![CDATA[操作系统--内核级线程实现]]></title><link>https://blog.youkuaiyun.com/fanzonghao/article/details/121316006</link><guid>https://blog.youkuaiyun.com/fanzonghao/article/details/121316006</guid><author>fanzonghao</author><pubDate>Sun, 14 Nov 2021 18:29:30 +0800</pubDate><description><![CDATA[五段论    `：





进入内核靠的是中断，fork是创建系统进程调用，进程由资源＋执行序列组成，而创建执行序列其实就是创建线程．







TSS:任务结构段

　　













参考：

操作系统_哈尔滨工业大学_中国大学MOOC(慕课)

哈工大操作系统实验(二)系统调用
...]]></description><category></category></item><item><title><![CDATA[操作系统--用户级线程与内核级线程]]></title><link>https://blog.youkuaiyun.com/fanzonghao/article/details/121191428</link><guid>https://blog.youkuaiyun.com/fanzonghao/article/details/121191428</guid><author>fanzonghao</author><pubDate>Sun, 07 Nov 2021 15:26:21 +0800</pubDate><description><![CDATA[一.多进程是操作系统基本图像



二.线程

2.1线程引入

可以切指令不切表，也就是资源不动，指令执行分开，更加轻量化，从而提高效率，保留并发优点，避免进程切换代价，也就引入了线程．



2.2多线程例子



同时触发以及用yield交替执行



104是B的函数返回地址，将104压栈，其他也是陆续压栈，用两个执行序列和一个栈，就会发现第一个线程，居然返回的函数地址是404，也就是线程在乱跑．

解决办法，一个序列一个栈，切回线程要将栈切回，用一个地方存放栈指针也就是TCB(threa...]]></description><category></category></item><item><title><![CDATA[操作系统--多进程管理CPU]]></title><link>https://blog.youkuaiyun.com/fanzonghao/article/details/121062230</link><guid>https://blog.youkuaiyun.com/fanzonghao/article/details/121062230</guid><author>fanzonghao</author><pubDate>Sun, 31 Oct 2021 12:31:26 +0800</pubDate><description><![CDATA[一.cpu管理直观做法：

cpu一直在循环取址执行，所以只需要设好pc初值即可


存在问题:io会占用时间长，导致cpu利用率低.

所以需要不停切换，执行多个程序，也就是并发．
但是在切换的时候，除了记录返回地址，还要记录当前执行程序运行时刻（也就引入进程），就像人看书一样有人打扰，需要做个记号，下次接着看.使用的是PCB(Process Control Block)的数据结构来记录进程信息，这是操作系统中最重要的结构．




总结：用多进程管理cpu.

二.多进程图像





   ...]]></description><category></category></item><item><title><![CDATA[MSE和Cross-entropy梯度更新比较]]></title><link>https://blog.youkuaiyun.com/fanzonghao/article/details/120711954</link><guid>https://blog.youkuaiyun.com/fanzonghao/article/details/120711954</guid><author>fanzonghao</author><pubDate>Tue, 12 Oct 2021 01:45:00 +0800</pubDate><description><![CDATA[一.平方损失(MSE)

Loss函数:





梯度:



由于x,y是已知的，故可以忽略掉

梯度更新:

 

sigmoid函数:



可以看出 导数在z取大部分值，都是很小的，这样会使梯度更新慢．

y为1或0是，当a=1,w的梯度为0,a=0,w的梯度为0，故就能看出梯度更新慢．

二.交叉熵损失(Cross-entropy)

梯度更新比较图



可看出逻辑回归比MSE慢．



Loss函数:



简写形式:





梯度更新:



由于没有导数那一项，导致梯度更新...]]></description><category></category></item><item><title><![CDATA[seaborn的一些画图]]></title><link>https://blog.youkuaiyun.com/fanzonghao/article/details/120609277</link><guid>https://blog.youkuaiyun.com/fanzonghao/article/details/120609277</guid><author>fanzonghao</author><pubDate>Mon, 04 Oct 2021 22:54:13 +0800</pubDate><description><![CDATA[一.数据查看

数据集地址,用红白酒为例．


import pandas as pd
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import matplotlib as mpl
import numpy as np
import seaborn as sns

white_wine = pd.read_csv('winequality-white.csv', sep=';')
red_wine = pd.]]></description><category></category></item><item><title><![CDATA[leetcode哈希表(python与c++)]]></title><link>https://blog.youkuaiyun.com/fanzonghao/article/details/120445822</link><guid>https://blog.youkuaiyun.com/fanzonghao/article/details/120445822</guid><author>fanzonghao</author><pubDate>Thu, 23 Sep 2021 23:49:01 +0800</pubDate><description><![CDATA[1.整数转罗马数字



python:


class Solution:
    def intToRoman(self, num: int) -&gt; str:
        dict_ = {1000:'M', 900:'CM', 500:'D', 400:'CD', 100:'C', 90:'XC', 50:'L', 40:'XL', 10:'X', 9:'IX', 5:'V', 4:'IV', 1:'I'}
        res = ''
        for key in dict_:]]></description><category></category></item><item><title><![CDATA[小孔成像中四个坐标系转换]]></title><link>https://blog.youkuaiyun.com/fanzonghao/article/details/120112008</link><guid>https://blog.youkuaiyun.com/fanzonghao/article/details/120112008</guid><author>fanzonghao</author><pubDate>Sun, 05 Sep 2021 11:51:21 +0800</pubDate><description><![CDATA[一.小孔成像基础知识:

1.1透镜成像原理如图所示：



其中 u 为物距， f 为焦距，v 为相距。三者满足关系式：



相机的镜头是一组透镜，当平行于主光轴的光线穿过透镜时，会聚到一点上，这个点叫做焦点，焦点到透镜中心的距离叫做焦距 f。数码相机的镜头相当于一个凸透镜，感光元件就处在这个凸透镜的焦点附近，将焦距近似为凸透镜中心到感光元件的距离时就成为小孔成像模型。小孔成像模型如图所示。



为了计算方便一般采用对称成像平面来进行计算．

二．四个坐标转换

2.1 背景

世界坐标系，相...]]></description><category></category></item><item><title><![CDATA[leetcode动态规划(python与c++)]]></title><link>https://blog.youkuaiyun.com/fanzonghao/article/details/120007484</link><guid>https://blog.youkuaiyun.com/fanzonghao/article/details/120007484</guid><author>fanzonghao</author><pubDate>Mon, 30 Aug 2021 23:23:27 +0800</pubDate><description><![CDATA[1 .斐波那契数






class Solution:
    def fib(self, n: int) -&gt; int:
        # if n==0:
        #     return 0
        # elif n==1:
        #     return 1
        # else:
        #     return self.fib(n-1)+self.fib(n-2)
        a =0
        b =1
       ...]]></description><category></category></item></channel></rss>