自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(213)
  • 资源 (4)
  • 收藏
  • 关注

翻译 [golang] 什么情况下reflect.IsValid 返回 false?

IsValid 方法的目的是报告 reflect.Value 本身是否有效,而不是其 wrap 的值是否有效。在接收者是零值的时候返回 false,大多数函数/方法永远不会返回无效值。下面所有的例子都返回 false(除非特殊说明)。注意下面这种返回 true。

2023-02-15 09:51:40 318 1

翻译 Go 汇编器指南

对于结果非指针或没有本地栈帧或函数调用的汇编函数,唯一的要求是在同一个包中的 Go 源文件中定义一个原型函数。在汇编中定义包含指针的符号是不可能的,这样的符号必须定义在 Go 源文件中。这些指令可能有 1 个或 2 个参数,如果有 2 个,第一个 flags 是位掩码(可以写成数值形式,使用 and 和 or 运算符,也可以写符号可读性好),他们的值定义在标准。对于拥有名为 SP 的硬件寄存器的体系结构,名称前缀可以用于区分对虚拟栈指针的引用或硬件 SP 寄存器的引用,比如。(帧大小注释表示)。

2022-12-31 17:54:42 423

原创 Golang Map 基本原理

Go 语言中的 map 即哈希表。哈希表把元素分到多个桶里,每个桶里最多放8个元素。在访问元素时,首先用哈希算法根据 key 和哈希表种子获得哈希值(暂将其命名为 h),然后利用 h 的低 bbb 位得到桶的序号。其中桶的个数为 2b2^b2b 个,是 2 的幂。桶中存储了所有元素的 key、value 和 key 哈希值的高 8 位。所以在找到桶之后会遍历元素的高 8 位哈希值,判断与 h 的高 8 位哈希值是否相等,若相等则再对比 key。如果在当前桶中没有找到 key,还会与溢出桶的元素进行比较。在哈

2022-12-03 21:50:16 789

原创 WSL 命令简单总结

listterminateruninstall执行命令默认虚拟机 启动默认虚拟机并进入终端 进入默认虚拟机终端颜色将默认用户改成root后终端没了颜色。,将39行的取消注释网络连接Accessing network applications with WSL | Microsoft Docs虚拟机IP: 物理机IP: ,在后的是IP............

2022-07-10 12:20:55 8578

翻译 云应用设计模式(三)

使用一个队列作为任务和它调用的服务之间的缓冲区,以平滑间歇性的重负载,否则可能导致服务失败或任务超时。此模式可以帮助最小化需求高峰对任务和服务的可用性和响应性的影响。Many solutions in the cloud involve running tasks that invoke services. In this environment, if a service is subjected to intermittent heavy loads, it can cause performance

2022-06-20 18:25:05 293

翻译 云应用设计模式(二)

In this article在这篇文章中Issues and Considerations 问题及考虑Delegate authentication to an external identity provider. This pattern can simplify development, minimize the requirement for user administration, and improve the user experience of the application.将身份验

2022-06-20 18:23:31 224

翻译 云应用设计模式(一)

The guide contains twenty-four design patterns that are useful in cloud-hosted applications. Each pattern is provided in a common format that describes the context and problem, the solution, issues and considerations for applying the pattern, and an exampl

2022-06-20 18:21:13 388

翻译 Go Mod/Module 学习

Go Module 简略使用说明

2022-06-06 17:00:14 316

翻译 Bash用法详解(Bash Reference Manual)第3章:基本 shell 功能

Shell语法、Shell命令、Shell函数、Shell参数、参数扩展、命令的执行、Shell脚本

2022-06-02 17:38:03 979

原创 笔记类软件总结

我大致把笔记类软件分为三类:传统文档、思维导图、专业软件1. 传统文档Typora最经典的本地软件应该是 Typora。支持 Markdown 的实时预览,界面简洁美观(使用 Electron 开发的软件基本上都比较好看,Electron 是基于 Chromium 浏览器的)可以使用微云同步助手对文档进行同步,将文档保存到微云,不用担心文档丢失。最明显的缺点是图片与文档分离,也就是说如果想把文档发给别人,就只能把一个 markdown 文件加一个包含图片的文件夹打包成压缩文件再发送,如果图片的存

2021-10-30 22:38:44 12878 3

原创 CentOS 7 KVM GPU 直通配置

原文链接:https://www.server-world.info/en/note?os=CentOS_7&p=kvm&f=10网上很多配置显卡直通的竟然要付费,让我很不爽,所以直接决定在 Google 上找一篇可用的,翻译一下。就当做个贡献了。配置虚拟机的GPU直通。配置完之后,就可以在虚拟机里面使用GPU了,用于机器学习/深度学习。在配置之前,需要先在BIOS设置中打开 VT-d (Intel) 或者 IOMMU (AMD)。第一步 在KMV主机上启动IOMMU# 首先编辑文

2021-10-12 09:42:33 4556 1

转载 iptables 各种链的流向

图片地址:http://xkr47.outerspace.dyndns.org/netfilter/packet_flow/

2021-06-17 19:14:07 236

翻译 ubuntu 创建 tap 设备 (虚拟网卡)

ubuntu 创建 tap 设备原文:Ubuntu Manpage: tunctl — create and manage persistent TUN/TAP interfaces1 首先安装 UML 工具$ apt install uml-utilities2 To create an interface for use by a particular user, invoke tunctl without the -d option: 要创建一个接口给特定用户使用,不要使用 -d 命令$

2021-06-09 11:30:25 3607

翻译 Windows 在不修改主题色的情况下将标题栏修改为黑色

有些软件使用夜间模式之后标题栏仍然是白色的,很不美观。如果在 Windows 10 的设置中,将个性化→颜色→在以下区域显示主题色→“标题栏和窗口边框”选中,那么标题栏可以带颜色。此时如果将主题色改为彩色,则标题栏为彩色,与黑色不和谐;如果将主题色改为灰色,则开始菜单、WLAN设置等界面中的蓝色会变成灰色,看不清状态。可以参考 How to get dark theme title bars in Windows 10, without changing your accent colour 修改注册表

2021-06-02 20:52:59 2790 1

翻译 PyTorch internals

PyTorch internalsThis post is a long form essay version of a talk about PyTorch internals, that I gave at the PyTorch NYC meetup on May 14, 2019.这篇文章是我在2019年5月14日于PyTorch纽约市见面会上发表的有关PyTorch内部原理的长篇论文版本。Hi everyone! Today I want to talk about the interna

2021-03-29 12:34:21 691

原创 智能计算系统实验(3) 综合实验-文本识别OCR-EAST

3.1 Split+Sub+Concat合并算子的BCL实现3.1.1 需求分析要实现这个算子,首先要知道这个算子具体要做什么。首先尝试读论文《EAST: An Efficient and Accurate Scene Text Detector》和《PVANET: Deep but Lightweight Neural Networks for Real-time Object Detection》,从论文中大致读懂了算法的框架,如下图,但是并没有什么用:图3-1 算法框架之后从eval Pyt

2021-01-24 21:43:25 4751 4

原创 智能计算系统实验(2) 实时风格迁移在线推理与离线部署

2.1 模型量化执行量化脚本python fppb_to_intpb.py udnie_int8.ini。量化过程主要对卷积算子进行量化。2.2 在线推理2.2.1 CPU原始模型通过已有的run_ori_pb函数可以发现,主要任务是向图中的输入节点填入图像,在获取输出节点的结果。将这个任务做完后直接运行会报错,提示PowerDifference_z节点没有数据。所以将udnie_power_diff模型转换成TF Events文件,用Tensorboard打开可以看到(图2-1),PowerDif

2021-01-24 21:24:03 2161 3

原创 智能计算系统实验(1) BANGC算子实现与TensorFlow的集成

这是2020年6月份的实验。现在决定发出来。1.1 算子实现和测试1.1.1 算子实验(1) 初始化环境:cd /opt/AICSE-demo-student/env; source env.sh(2) 进入plugin_power_difference_kernel.h,补全头文件。补全头文件需要确定参数列表。PowerDifference的含义是(X-Y)Z(X-Y)^Z(X-Y)Z,其中ZZZ是标量,因此至少需要3个参数。后来从PPT中发现了PowerDifference的声明,确定了是有5个

2021-01-24 21:07:39 4357 5

转载 Linux 内核学习(7) - 时间系统

Linux Kernel的时钟Jiffies背景:从时钟中断说起Linux系统有一个时钟中断,被称为tick,用来做进程调度,周期为HzJiffies,就是tick的计数,每一个时钟中断发生时被加1Jiffies可以用来做计时,以系统启动时间为起点,粒度为一个tick为了尽可能减少jiffies环绕,jiffies定义为64位,在32位上读写就不是一个原子操作。用顺序锁来避免竞争读侧u64 get_jiffies_64(void) { unsigned long se

2021-01-02 13:35:49 241

转载 Linux 内核学习(6) - 中断和异常处理

中断的硬件背景IOAPIC:所有外设都会连接到IOAPIC引脚上面基本的配置方法IOREGSEL: 用来选择配置的功能IOWIN: 用来读取更改具体的配置项配置功能选项IOAPICID: 唯一标识IOAPICVER: 版本识别IOAPICARB: 用于发送信息的仲裁,按优先级轮转自动转换IOREDTBL: 0~23条中断线的配置中断向量号 bit 0~7传送中断的模式指定目标CPU禁用启用中断线几个状态位中断流程连接IOAPIC引脚的设备触发中断检

2021-01-01 16:45:30 319

转载 Linux 内核学习(5) - 进程管理

系统调用进程运行在非特权层,有的操作没有权限直接操作,例如文件操作系统调用就是出于用户空间和内核空间的接口当进程需要执行一些本身没有权限做的操作,就通过系统调用进入kernel实现每个功能都对应不同的系统调用号通过 in 0x80 / syscall 陷入到内核系统调用号放在 eax 中将参数放在 ebx, ecx, edx, esi, edi, ebp 中,如果超过了6个参数,可以通过大块内存来传递关于syscall从非特权层快速系统调用到特权层(在特权层不能使用)所做的事

2021-01-01 13:09:31 105

转载 运维自动化工具 Ansible 学习

编辑主机清单$ vim /etc/ansible/hosts直接在文件里面加IP地址。主机清单只是可以控制谁ansible中有一个模块叫ping$ ansible 10.10.108.91 -m ping -k# -k 是手动输入密码# -m 是执行模块可以用都逗号分隔主机。如果有多个主机,密码只输入一次。为了加速ssh连接,需要修改:$ vim /etc/ssh/sshd_configUseDNS noGSSAPIAuthentication noGSSAPICleanupCr

2020-12-29 16:05:46 563

转载 Linux 内核学习(4) - 内存管理

内存管理内存初始化内存布局探测:E820图E820介绍在x86的机器上,由bios提供的中断,中断号是0x15,在调用的时候AX寄存器必须为0xE820,每次返回一段内存的空间的起始地址和大小以及它的属性(可用的RAM or 被BIOS保留的)注:以下代码 有的是linux 5.10,有的是linux 2.6.30.4代码1 arch/x86/boot/memory.cstatic void detect_memory_e820(void){ int count = 0; st

2020-12-26 22:10:29 279

转载 Linux 内核学习(3) - Linux Kernel 常用的数据结构

原子操作原子操作是指,不能被本CPU和其它CPU所中断的执行指令或指令流。原子操作的实现CPU基本的原子操作LOCK前缀自动带LOCK的指令CPU平台本身可以保证的原子操作读/写一个字节读/写一个对齐的16 bit数据读/写一个对齐的32 bit数据读/写一个对齐的64 bit数据(64位CPU)另外在32-bit的数据总线上访问一块cache禁止的16位数据(≥\ge≥Pentium)在一个cache line中访问不对齐的16,32,64位数据(≥\ge≥

2020-12-26 14:47:42 562

转载 Linux 内核学习(2) - 原子操作和内存屏障

Linux 内核学习(2) - 原子操作和内存屏障原子操作原子操作是指,不能被本CPU和其它CPU所中断的执行指令或指令流。原子操作的实现CPU基本的原子操作LOCK前缀自动带LOCK的指令CPU平台本身可以保证的原子操作读/写一个字节读/写一个对齐的16 bit数据读/写一个对齐的32 bit数据读/写一个对齐的64 bit数据(64位CPU)另外在32-bit的数据总线上访问一块cache禁止的16位数据(≥\ge≥Pentium)在一个cache lin

2020-12-22 20:54:02 889 1

转载 Linux 内核学习(1) - 同步

Linux 内核学习(1) - 同步不可睡眠锁1 Spinlock 自旋锁spinlock是内核中提供的一种比较常见的锁机制,自旋锁是“原地等待”的方式解决资源冲突的。即,一个线程获取了一个自旋锁后,另外一个线程期望获取该自旋锁,获取不到,只能够原地“打转”(忙等待)。由于自旋锁的这个忙等待的特性,注定了它使用场景上的限制——自旋锁不应该被长时间的持有(消耗 CPU 资源)。Linux 内核同步(二):自旋锁(Spinlock)API初始化:在编译时定义:DEFINE_SPINLOCK(

2020-12-21 22:34:07 171

翻译 CGroup(控制组)

原文链接:https://0xax.gitbooks.io/linux-insides/content/Cgroups/linux-cgroups-1.html1 引言Cgroups是Linux内核提供的提供的一种机制,使我们能够为一组进程分配处理器时间、进程数、内存量等或多种资源的组合。控制组是分层组织的,就像进程也是分层组织的一样,子控制组可以从父控制组继承参数。但实际上他们并不相同,控制组与普通进程树的区别是,控制组的不同层次可以同时存在,而进程树始终单个的(single)。每个cgroup层次都

2020-12-02 19:25:53 2547

转载 Linux 监测工具大全

图片来源:http://www.brendangregg.com/linuxperf.html文章目录A 系统库1 `ltrace` - 库函数调用跟踪器2 `gethostlatency` - 测getaddrinfo/gethostbyname的延迟B 系统调用接口3 `strace` - 系统调用跟踪器C 虚拟文件系统(VFS)4 lsof - 列出打开的文件5 fatrace - 监视文件访问6 filelife - 检测短寿命文件的生命周期D 文件系统7 ext4dist - 统计ext4操作.

2020-12-01 20:00:03 286

翻译 20个监视linux性能(资源利用率)的工具

1. top - Linux进程监视top命令是一个性能监视程序,被系统管理员频繁使用,并且在大多数类Linux/Unix系统下都可以用。top命令可以展示所有活跃的进程列表,并定时更新。它可以显示CPU利用率、内存利用率、交换内存、缓存大小、缓冲区大小、进程PID、用户、命令等等,还能显示出高CPU、内存利用率的进程。$ top更多示例可以参考:12 TOP Command Examples in Linux2. VmStat - 虚拟内存统计VmStat命令用于显示虚拟内存、内核线程、硬盘

2020-12-01 17:14:36 1444

翻译 为什么要给网桥分配IP地址

[问题1] 为什么要给网桥分配MAC和IP地址?https://unix.stackexchange.com/questions/319979/why-assign-mac-and-ip-addresses-on-bridge-interface我在Linux上创建了一个网桥接口br0, 然后给它添加了一些接口eth0,tap0等等. 我的理解是网桥接口就像带着接口(端口)的虚拟交换机.给网桥接口分配MAC和IP地址是什么意思? 该接口是否充当交换机/网桥上的附加端口, 允许其他端口访问主机?我已经

2020-11-07 15:26:18 11240 1

转载 leetcode 刷题视频(10) - 高级数据结构

高级数据结构基础知识 trie树又叫字典树、前缀树(图中的红圈表示字符串结尾)最为高效的字符串查找算法。// 26 个字母#define TRIE_MAX_CHAR_NUM 26struct TrieNode { TrieNode *child[TRIE_MAX_CHAR_NUM]; bool is_end; TrieNode() : is_end(false) { for (auto &i : child) { i

2020-10-25 22:38:39 174

转载 leetcode刷题视频(9) - 动态规划

动态规划动态规划是最常考察题型。问题1 爬楼梯You are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?Example 1:Input: 2Output: 2Explanation: There are two ways to

2020-10-24 22:14:29 255

转载 leetcode 刷题视频(8) - 搜索

搜索本节介绍深度优先搜索和宽度优先搜索。问题1 岛屿数量Given an m x n 2d grid map of '1's (land) and '0's (water), return the number of islands.An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges o

2020-10-24 22:09:59 905

转载 leetcode 刷题视频(7) - 哈希表与字符串

哈希表与字符串预备知识拉链法解决冲突,构造哈希表。#include <iostream>using namespace std;struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(nullptr) {}};int hash_func(int key, int table_len) { return key % table_len; }void insert(L

2020-10-18 15:55:03 186 1

转载 leetcode 刷题视频(6) - 二分搜索和二叉查找树

二分搜索和二叉查找树二叉查找树又叫二叉排序树预备知识 二分查找折半查找。假设元素升序排列递归形式#include <vector>using namespace std;bool binary_search(vector<int> &sort_array, int begin, int end, int target) { if (begin > end) { return false; } int mid = (b

2020-10-18 15:51:16 236

转载 leetcode 刷题视频(5) - 二叉树与图

二叉树与图问题1 路径之和2Given a binary tree and a sum, find all root-to-leaf paths where each path’s sum equals the given sum.Note: A leaf is a node with no children.Example:Given the below binary tree and sum = 22, 5 / \ 4 8 / / \ 11 1

2020-10-09 22:18:53 176

转载 leetcode 刷题视频(4) - 回溯、递归和分治

递归、回溯和分治问题1 求子集1-a 求子集Given a set of distinct integers, nums, return all possible subsets (the power set).Note: The solution set must not contain duplicate subsets.Example:Input: nums = [1,2,3]Output:[ [3], [1], [2], [1,2,3], [1,3], [2,

2020-10-07 20:28:22 138

转载 leetcode 刷题视频(3) - 贪心法

贪心法预备知识同一个目标值,使用较大面额的纸币能检测纸币的使用。面额为1元、5元、10元、20元、100元、200元,任意面额是比自己小的面额的倍数。所以当使用一张较大面额的钞票时,若用较小面额钞票替换,一定需要更多其它面额的钞票。思考:如果增加7元面额,贪心还成立吗?不成立,因为14=10+1+1+1+1, 14=7+7更好问题1 分糖果Assume you are an awesome parent and want to give your children some cookies.

2020-10-07 20:25:18 273 1

转载 leetcode 刷题视频(2) - 栈、队列和堆

栈、队列和堆问题1 使用队列实现栈Implement the following operations of a stack using queues.push(x) – Push element x onto stack.pop() – Removes the element on top of the stack.top() – Get the top element.empty() – Return whether the stack is empty.Example:MyStac

2020-10-05 20:23:21 278

转载 leetcode 刷题视频(1) - 链表

链表问题1 链表逆序1-a 基本问题Reverse a singly linked list.Example:Input: 1->2->3->4->5->NULLOutput: 5->4->3->2->1->NULL来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-linked-list著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。c

2020-10-05 12:02:04 263

Chromium Trace Event Format

chromium trace viewer使用的trace格式。TensorBoard中的Profiler插件生成的json文件,以及各大语言的trace模块生成的数据符合这个格式。

2021-01-16

7+ Taskbar Tweaker v5.9.1

7+ Taskbar Tweaker 可以对任务栏进行各种定制, 比如鼠标点击任务栏图标的行为, 任务栏图标合并和拆分的设置等等

2020-09-24

traindata.txt

贪心学院自然语言处理训练营2019年Lesson9的训练集, 用于词性标注, 将近20万个单词, 分隔符是左斜杠

2020-08-06

spacy en tokenizer: en_core_web_sm-2.3.0.tar.gz

如果下面这条命令执行失败的话 ------------ from torchtext import data data Field(tokenize=spacy", tokenizer_Language=r'en) ------------ 可以先下载资源包, 解压,然后把命令换成下面这种 data Field(tokenize="Spacy', tokenizer_Language=r"F: \ tmp Men_core -web_sm-2.3.0\en_core_web_sm\en___sm-2 3.01)

2020-06-17

空空如也

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

TA关注的人

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