自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 useradd: UID 0 is not unique ERROR: Failed to start ade. To debug use, ``ade start -- --env DEBUG=1‘

useradd: UID 0 is not uniqueERROR: Failed to start ade. To debug use, ``ade start -- --env DEBUG=1``.

2022-08-06 19:41:02 1394 1

原创 Python 常见面试题

1.Python 中的列表和元组有什么区别?列表 list 是可变的,即可以编辑,同时运行比元组慢元组 tuple 是不可变(元组是无法编辑的列表)2.Python 的主要功能是什么?Python 是一种解释型语言。这意味着,与C及其变体等语言不同,Python 在运行之前不需要进行编译。其他解释语言包括PHP。Python 是动态类型的,这意味着在声明变量或类似的东西时无需声明变量的类型。Python 非常适合面向对象的编程,因为它允许定义类以及组成和继承。但Python 没有访问说明(如C

2022-01-12 22:00:42 3088

转载 Batch-Norm

https://blog.csdn.net/qq_25737169/article/details/79048516

2022-01-11 22:35:20 158

原创 Actor-Critic

前沿:Actor-Critic是深度强化学习的一种算法,该算法定义两个网络,分别为策略网络Actor和评价网络Critic,其中Actor主要是用来训练策略,找出最优的动作,而Critic用来给动作进行打分,从而引导出最好的动作。1.Critic介绍Critic主要是用来评估actor所选动作的好坏,可以把用来给值函数做近似的网络当成Critic网络。2.训练值函数Vπ(s)的方法2.1 定义值函数Vπ(s)由于策略的随机性,导致在状态s下可能会采取不同的动作,所以此处值函数取期望2.2 M

2022-01-11 00:00:12 1674

原创 Policy Gradient

前沿:强化学习RL的目标是训练出一个好的策略,即在状态s下,采取一个最优的动作a,当agent采取这个动作后,可以使最后的长期累积回报最大化。Policy gradient1. 总体概述如下图所示,目前有一个状态s,与分类问题类似,通过一个Actor网络,我们将该状态进行分类,将其分类的结果记为a,已知目前总的不同类别有3种,为[left,right,fire],我们的目标是使分类的结果尽可能接近真实值a^\hat{a}a^,因此此时应该定义损失函数,分类问题中的损失函数通常用交叉熵表示即L = e1

2022-01-10 21:58:32 303

原创 Pytorch 实现 AlexNet 网络

1. LeNet 和 AlexNet 网络架构2.相比于LeNet,AlexNet 改进在全连接层后面增加了Dropout 用来防止模型过拟合将激活函数由Sigmoid 改为 Relu,以降低梯度消失的概率下采样层由AvgPooling改为MaxPooling3. 模型层设计# 构建模型net = nn.Sequential( # 这里,我们使用一个11*11的更大窗口来捕捉对象。 # 同时,步幅为4,以减少输出的高度和宽度。 # 另外,输出通道的数目远大于LeN

2022-01-06 10:11:58 460

原创 pytorch实现 LeNet 网络

LeNet1. 网络架构图2. 网络实现net = nn.Sequential( nn.Conv2d(1,6,kernel_size=5,padding=2), # (1,6,28,28) nn.Sigmoid(), # (1,6,28,28) nn.AvgPool2d(kernel_size=2,stride=2),# (1,6,14,14) 【(28-2+2)/2 = 14】 nn.Conv2d(6,16,kernel_size=5),# (6,16,10,

2022-01-05 22:40:36 650

原创 torch.nn.Linear()中weight的初始化问题

1. 系统默认初始化当我们没有进行初始化权重操作时,发现系统已经有了默认值,如下所示查看官网文档可以发现,这些初始化的值服从均匀分布 U(-k\sqrt{k}k​,k\sqrt{k}k​),其中k = 1/输入层2. 自定义初始化weight首先编写初始化函数init_weight(),在该函数中,nn.init.normal()可以将权重初始化为正态分布,此处也可以初始化为其他值。# 初始化weightdef init_weights(m): if type(m) == nn.Li

2022-01-03 16:05:03 7229

原创 矩阵计算【动手学深度学习v2】

1. 标量导数

2021-12-31 12:35:54 469

原创 2121. 相同元素的间隔之和

1. 题目给你一个下标从 0 开始、由 n 个整数组成的数组 arr 。arr 中两个元素的 间隔 定义为它们下标之间的 绝对差 。更正式地,arr[i] 和 arr[j] 之间的间隔是 |i - j| 。返回一个长度为 n 的数组 intervals ,其中 intervals[i] 是 arr[i] 和 arr 中每个相同元素(与 arr[i] 的值相同)的 间隔之和 。注意:|x| 是 x 的绝对值。2.思路主要考点:哈希,前缀和2.1 整体思路1 . 从前往后遍历,将相同元素出现的索

2021-12-29 23:44:15 458

原创 009. 乘积小于 K 的子数组

009. 乘积小于 K 的子数组题目给定一个正整数数组 nums和整数 k ,请找出该数组内乘积小于 k 的连续的子数组的个数。思路双指针 · 滑动窗口我们使用一重循环枚举 right,同时设置left 的初始值为 0。在循环的每一步中,表示right 向右移动了一位,将乘积乘以 nums[right]。此时我们需要向右移动left,直到满足乘积小于k 的条件。每次移动时,需要将乘积除以nums[left]。当 left 移动完成后,对于当前的right,就包含了right−left+1 个乘积

2021-12-07 11:51:15 221

原创 085. 生成匹配的括号

生成匹配的括号1.题目正整数 n 代表生成括号的对数,请设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。2.思路1)括号组合第一个数肯定是 (2) 左括号 ( 的个数肯定大于等于右括号 ) 的个数,也就是说只有当组合中的左括号数小于右括号数时,才能增加右括号3)最后一个肯定是右括号 )class Solution: def generateParenthesis(self, n: int) -> List[str]: res = []

2021-12-06 16:20:14 191

原创 剑指offer—位运算专题

前言本篇文章记录剑指offer(第二版)位运算专题的全部题目,并配合详细的讲解题目列表JZ65 不用加减乘除做加法JZ15 二进制中1的个数JZ16 数值的整数次方JZ56 数组中只出现一次的两个数字JZ64 求1+2+3+…+n1.JZ65 不用加减乘除做加法描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。数据范围:两个数都满足 0≤n≤1000进阶:空间复杂度 O(1),时间复杂度 O(1)思路首先看十进制是如何做的: 5+7=12,三步走

2021-11-02 11:20:54 177

原创 圆圈中最后剩下的数(约瑟夫环问题)

圆圈中最后剩下的数(约瑟夫环问题)描述每年六一儿童节,牛客都会准备一些小礼物和小游戏去看望孤儿院的孩子们。其中,有个游戏是这样的:首先,让 n 个小朋友们围成一个大圈,小朋友们的编号是0~n-1。然后,随机指定一个数 m ,让编号为0的小朋友开始报数。每次喊到 m-1 的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0… m-1报数…这样下去…直到剩下最后一个小朋友,可以不用表演,并且拿到牛客礼品,请你试着想下,哪个小朋友会得到这份礼品呢?数

2021-10-30 16:04:42 335

原创 JZ45 把数组排成最小的数

JZ45 把数组排成最小的数描述输入一个正整数数组numbers,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组[3,32,321],则打印出这三个数字能排成的最小数字为321323。数据范围:0<=len(numbers)<=100思路如果有两个字符串a,b,若a + b < b + a, 显然我们希望a排在b的前面,因为a排在前面可以使结果更小。于是我们就自定义排序规则,那么最后的结果肯定是最小的。import functools

2021-10-30 09:10:34 85

原创 114. 二叉树展开为链表

题目链接https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list/思路1.将左子树插入到右子树2.原来的右子树插入到左子树最右边的结点3.继续下一个操作,直到右子树为nullvoid flatten(TreeNode* root) { while(root!=nullptr) { if(root->left==nullptr) {

2021-08-18 15:39:56 74

原创 3.字典操作

字典操作1.1 字典中的键映射多个值1.2 字典按序输出1.3 字典的运算1.4 查找两字典的相同点1.1 字典中的键映射多个值可以使用 collections 模块中的 defaultdict 来构造这样的字典,该字典可以将键映射多个值from collections import defaultdictd = defaultdict(list)d['a'].append(1)d['a'].append(2)d['b'].append(4)# {'a': [1, 2], 'b': [4]

2021-08-17 11:53:29 123

原创 2.队列操作

队列操作1.3 保留最后 N 个元素1.4 查找最大或最小的 N 个元素三级目录1.3 保留最后 N 个元素可以通过collections.deque进行处理,deque(maxlen=N) 构造函数会新建一个固定大小的队列。当新的元素加入并且这个队列已满的时候, 最老的元素会自动被移除掉。>>> q = deque(maxlen=3)>>> q.append(1)>>> q.append(2)>>> q.append(3)

2021-08-17 10:02:47 110

原创 1. 分解与解压操作

分解与解压操作1.1 将序列分解为单独的变量1.2 解压可迭代对象(星号表达式*)1.1 将序列分解为单独的变量对于Python来说,只要对象是可迭代的,包括字符串,文件对象,迭代器和生成器,便可以通过赋值操作将其值解压来分解为单独的变量,但必须保证变量的总数和结构必须与序列相吻合如果只想压缩一部分而丢弃其他值,可以使用 _ 进行抛弃1.2 解压可迭代对象(星号表达式*)星号表达式( * )可以被用来解压不确定个数或任意个数元素的可迭代对象1.2.1 用于打包可迭代的变量*表达式所对应的

2021-08-16 21:29:35 200

原创 1099 Build A Binary Search Tree (30 分)

![在这里插入图片描述](https://img-blog.csdnimg.cn/e69620e464be4faa9f770b0592ba5307.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ4MDgxNTA5,size_16,color_FFFFFF,t_70思路首先题目给出的是结点的编号,所以用二叉树的静态遍历比较方便其次,由

2021-08-10 10:13:07 93

原创 1064 Complete Binary Search Tree (30 分)

思路1)当要求完全二叉树时,该二叉树的形态已经固定,我们定义了一个CBT数组用来层次存储二叉树的结点。2)由于要求是二叉排序树,又因为二叉排序树的中序遍历结果是个有序的数列,因此可以先将输入的数组排序,再依次填入CBT数组,最后遍历输出即可。#include <cstdio>#include <vector>#include <algorithm>const int maxen = 1010;using namespace std;int CBT[maxe

2021-08-09 18:18:52 61

原创 1043 Is It a Binary Search Tree (25 分)

思路1)首先按照题目给出的顺序构造二叉排序树。注意构造的时候初始 node root=NULL2)运用STL中的vector分别求出该二叉树的先序遍历,后序遍历,镜像序列以及镜像序列的后序遍历#include <cstdio>#include <vector>using namespace std;struct node{ int data; node* lchild; node* rchild;};//插入结点void insert(n

2021-08-09 16:47:40 68

原创 二叉查找树基本操作

#include <cstdio>using namespace std;struct node{ int data; node* lchild; node* rchild;};//查找操作void search(node *root,int x){ if(root==NULL) { printf("Failed"); return; } if(x==root->data) {

2021-08-09 14:30:28 81

原创 1004 Counting Leaves (30 分)

#include <cstdio>#include <iostream>#include <vector>#include <queue>const int maxen = 110;using namespace std;struct node{ int layer; vector<int> child;}Node[maxen];int n;void BFS(int root);int hashTable[m

2021-08-09 09:32:28 74

原创 1094 The Largest Generation (25 分)

思路本题思路主要是通过层次遍历得出每一个结点的层次,接着求出同一层次结点的个数,最后便可以得出答案#include <cstdio>#include <iostream>#include <vector>#include <queue>const int maxen = 110;using namespace std;struct node{ int layer; vector<int> child;}Node

2021-08-08 21:50:33 66

原创 1090 Highest Price in Supply Chain (25 分)

#include <iostream>#include <vector>#include <string>#include <algorithm>#include <queue>#include <cmath>const int maxen = 100010;using namespace std;struct node{ int layer; vector<int> child;}Nod

2021-08-08 18:05:15 58

原创 1079 Total Sales of Supply Chain (25 分)

思路1) 题目的关键点在于找出每个叶子节点的层次,可以通过层序遍历来实现。2)层序遍历可以通过队列的方式实现,同时在遍历的同时,对每个节点的层次进行标记#include <iostream>#include <vector>#include <string>#include <algorithm>#include <queue>#include <cmath>const int maxen = 100010;usi.

2021-08-08 17:02:53 62

原创 PTA 1053 Path of Equal Weight (30 分)

PTA 1053 Path of Equal Weight (30 分)思路使用树的静态表示方法,进行构造通过DFS回溯,遍历整棵树,如果权重达到目标则进行保存。#include <iostream>#include <vector>#include <string>#include <algorithm>const int maxen = 110;using namespace std;void DFS(int root ,int s

2021-08-08 11:15:07 97

空空如也

空空如也

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

TA关注的人

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