目录引言设置引言在进行深度学习实验的时候,可能经常会发现,虽然输入的数据都是一样的,但是输出的结果总是会有不同的波动,这主要是由于在神经网络中,很多网络层参数的初始化会涉及到随机,这个就会导致最终的结果会有一些差距,因此如果我们想要固定某一个结果,并复现这个结果,我们就需要提前设置固定的随机种子设置一般来说,我们可以通过对每一层的网络层设置固定的随机种子,保持结果可复现,但是显然这是比较麻烦的一件事,所以我们可以通过tf.random.set_seed()来全局固定CPU上的随机性,但是当我们使用GPU训练时,则无法起作用,需要通过tensorflow-determinism库来实现在GPU上
目录引言设置引言在进行深度学习实验的时候,可能经常会发现,虽然输入的数据都是一样的,但是输出的结果总是会有不同的波动,这主要是由于在神经网络中,很多网络层参数的初始化会涉及到随机,这个就会导致最终的结果会有一些差距,因此如果我们想要固定某一个结果,并复现这个结果,我们就需要提前设置固定的随机种子设置一般来说,我们可以通过对每一层的网络层设置固定的随机种子,保持结果可复现,但是显然这是比较麻烦的一件事,所以我们可以通过tf.random.set_seed()来全局固定CPU上的随机性,但是当我们使用GPU训练时,则无法起作用,需要通过tensorflow-determinism库来实现在GPU上
常用的标准库数学模块importmathceil--上取整对一个数向上取整(进一法),取相邻最近的两个整数的最大值。importmathres=math.ceil(4.1)print(res)#5floor--下取整对一个数向下取整(退一法),取相邻最近的两个整数的最小值。importmathres=math.floor(-3.9)print(res)#-4四舍五入将常用的内置函数--round。pow--幂运算计算一个数字的N次方。importmath"""调用的数学模块中的方法和内置的主要区别就是内置返回整数,数学模块返回小数"""#数学模块res=math.pow(2,3)print(r
常用的标准库数学模块importmathceil--上取整对一个数向上取整(进一法),取相邻最近的两个整数的最大值。importmathres=math.ceil(4.1)print(res)#5floor--下取整对一个数向下取整(退一法),取相邻最近的两个整数的最小值。importmathres=math.floor(-3.9)print(res)#-4四舍五入将常用的内置函数--round。pow--幂运算计算一个数字的N次方。importmath"""调用的数学模块中的方法和内置的主要区别就是内置返回整数,数学模块返回小数"""#数学模块res=math.pow(2,3)print(r
ARC076F-Exhausted?[题目大意]\(有m个座位,分别位于坐标为1,2,3,...,m的地方;n个客人,第i位客人只坐位于[0,li]∪[ri,m]的座位。每个座位只能坐一个人,问最少需要添加几个座位才能使所有人坐下?\)[Solution]本题考察对霍尔定理的理解,$对于二分图G=,设|V_1|而霍尔定理有一个推论,就是若使G中存在完美匹配,则最少补充\(max\{0,|S|-|N(S)|\}\)条边回到本题,对于一个人,把他看做左部点,把座位1到m看做右部,将客人向所有\(i\in[1,l_i]\cup[r_i,m]\)连边因为左部S所对应的右部节点的形式为\([1,l]\c
ARC076F-Exhausted?[题目大意]\(有m个座位,分别位于坐标为1,2,3,...,m的地方;n个客人,第i位客人只坐位于[0,li]∪[ri,m]的座位。每个座位只能坐一个人,问最少需要添加几个座位才能使所有人坐下?\)[Solution]本题考察对霍尔定理的理解,$对于二分图G=,设|V_1|而霍尔定理有一个推论,就是若使G中存在完美匹配,则最少补充\(max\{0,|S|-|N(S)|\}\)条边回到本题,对于一个人,把他看做左部点,把座位1到m看做右部,将客人向所有\(i\in[1,l_i]\cup[r_i,m]\)连边因为左部S所对应的右部节点的形式为\([1,l]\c
获取一个随机整数范围在:[0,3)包括0,不包括3,iOS有三种实现随机数的方式:方式一:srand((unsigned)time(0));//不加这句每次产生的随机数不变inta=rand()%3;方式二:srandom(time(0));intb=random()%3;方式三:intc=arc4random()%3;分析:1、rand()和random()实际并不是一个真正的伪随机数发生器,在使用之前需要先初始化随机种子,否则每次生成的随机数一样。2、arc4random()是一个真正的伪随机算法,不需要生成随机种子,第一次调用的时候就会自动生成。而且范围是rand()的两倍。3、精确度比
获取一个随机整数范围在:[0,3)包括0,不包括3,iOS有三种实现随机数的方式:方式一:srand((unsigned)time(0));//不加这句每次产生的随机数不变inta=rand()%3;方式二:srandom(time(0));intb=random()%3;方式三:intc=arc4random()%3;分析:1、rand()和random()实际并不是一个真正的伪随机数发生器,在使用之前需要先初始化随机种子,否则每次生成的随机数一样。2、arc4random()是一个真正的伪随机算法,不需要生成随机种子,第一次调用的时候就会自动生成。而且范围是rand()的两倍。3、精确度比
写这边文章的原因是看到网络上对于AutoReleasePool讨论,发现大家对AutoReleasePool存在误区。AutoReleasePool里面的对象何时释放?这个问题是常见的iOS面试题,错误的答案:1.等到一次runloop结束,AutoReleasePool被释放时2.超出作用域{}这些答案都不对,标准答案:每次release时retainCount减一,当retainCount为0时候释放对象。release的时机比如runloop周期中AutoReleasePool被释放时,比如超出作用域时关键概念点:1.不是所有OC对象都会加入到AutoReleasePool2.AutoR
写这边文章的原因是看到网络上对于AutoReleasePool讨论,发现大家对AutoReleasePool存在误区。AutoReleasePool里面的对象何时释放?这个问题是常见的iOS面试题,错误的答案:1.等到一次runloop结束,AutoReleasePool被释放时2.超出作用域{}这些答案都不对,标准答案:每次release时retainCount减一,当retainCount为0时候释放对象。release的时机比如runloop周期中AutoReleasePool被释放时,比如超出作用域时关键概念点:1.不是所有OC对象都会加入到AutoReleasePool2.AutoR