加载头像
难得自由
听风雨,问星辰,随心归✨✨
frwalker.top
Python
C++
Linux
EDA
嵌入式
3D打印
diy
QT
Vscode
Git
Docker
Node
Python
C++
Linux
EDA
嵌入式
3D打印
diy
QT
Vscode
Git
Docker
Node
随便逛逛
图片
2024-03-151.封装cpp给python调用,提高程序开发和运行效率
将cpp代码编译成python可以调用的模块,充分利用两种语言的优缺点互补,提高程序开发和运行效率,并给出模拟退火加速的实际应用示例。
详情
图片
2023-01-15第六届集创赛北方华创赛题-集束性晶圆制造设备的智能调度
前言 集创赛是国内集成电路领域最大规模高校赛事、中国高等教育学会全国高校竞赛榜单唯一入榜集成电路专业赛事,由工信部人才交流中心主办,所参加赛道由北方华创出题。比赛凑巧拿到国二、华中赛区一等奖,这个比赛奖金不多只有3000,但因此加分保研(至于读研后,就说不清这个保研是幸运还是祸害了) 概述 半导体设备产能的高低直接影响芯片加工厂的效益,而高效稳定的调度系统是保证最优产能的前提,需要满足较高的实时调度要求。其中,半导体晶圆制造设备的调度问题是一个NP-Hard问题,如果用数学规划的方法求解将会十分困难。为了找寻行之有效的调度方案,许多国内外的专家学者已经在该问题上做了大量研究,提出了一些对集束型设备调度的调度优化方法。集束型设备调度优化方法可分为运筹学方法、规则方法、多项式方法、启发式方法和智能优化方法等。总结归纳如图: 本文中采用的方法在提高算法的求解速率、模型的通用性、方案的完备性等均做了探究和解决,结果表明该调度方案是可行、有效的,可供实际生产参考。 问题概述 如图,是一种半导体晶圆的加工设备。 晶圆在其中的加工过程可以抽象为如下过程: 具体的加工要求和各项关于工艺的约束详见 ...
详情
图片
2023-06-01安知鱼主题标签 Tag Plugins
添加大量外挂标签样式。
详情
图片
2023-08-27A*算法及改进
记录A*算法和相关的改进技巧
详情
图片
2025-04-26代码开发与环境管理工具汇总
记录和汇总使用过的代码开发与环境管理工具及其相关用法
详情
图片
2025-04-19求职-LeetCode热题100刷题记录
求职刷题记录,解法为自己总结,题目来自leetcode,大部分代码参考或来自题解部分,目的是c++和python两种语言练习LeetCode热题100题目,方便求职和回顾复习
详情
图片
2025-04-15新机迁移-hexo\vscode\便携git\miniconda\i卡环境配置
因为换新电脑,需要迁移一下hexo博客的本地项目,这里记录一下配置方法(附带git),防止遗忘,方便今后使用!
详情
图片
2025-03-31通用印刷电路板全自动布线算法
前言 在电子设计的世界里,布线是一个技术含量极高、又极其耗时的环节。手动布线往往意味着一场与信号完整性、电磁兼容、走线长度和空间利用率之间的博弈。PCB自动布线器(Auto Router)是一种用于在印刷电路板(PCB)设计中自动完成连线的算法系统。它接收已经完成元件布局的PCB设计文件,依据设定的规则与约束,自动为所有网络寻找最优连接路径,从而大幅减少手动布线的工作量。 其背后的核心技术来自于图论 + 搜索算法,其中常见的问题及解决方案如下: 多端网络连通问题:使用最小生成树和Steiner Tree来进行拆解 求布线路径:A*等图搜索算法 不同网络布线的冲突问题:分层布线和拆线重布策略 此外,还有版图建模、算法效率等问题要进行处理。 各布线工具效果对比 如下图,以一个经过预布局的2层板微型控制器为例,其中包含多种不同的电子器件, 例如电源接口、芯片阵列以及通孔连接器,接近上百个待布线网络。下图是FreeRouting、学术界参考、Electra等布线器的效果对比: [{"url":"https://blog-images-frwalker.obs.dualsta ...
详情
图片
2025-03-31基于元器件手册的智能建库算法
记录从元器件手册PDF自动萃取表格、图片、封装图数据到EDA工具进行智能建库的相关算法效果,以及相关算法的应用成果
详情
图片
2025-02-28博客语法记录
记录博客写作需要随时用到的一些语法
详情
图片
2025-02-28柔性电路板FPC自动布线
柔性电路板(flexible printed circuit, FPC),又称为软性电路板、挠性电路板,其设计原理是将电路板的表面做成了多层薄膜,使得电路板的表面具有很高的韧性,并且可以承受较大的电流,以质量轻、厚度薄和可自由弯曲折叠等优良特性而备受青睐。由于其特殊的设计,使得FPC布线的自动化成为可能。由于FPC多用于互联功能, 其引脚聚集在版图的部分区域, 而引脚聚集区域外则为呈通道型的多边形可布线区域, 故FPC布线问题又可分为引脚区域扇出布线与通道区域高密度线组布线,本文对通道区的布线算法进行了研究记录,引脚区域扇出布线的算法留作未来探究。 通道区域高密度线组布线算法 算法研究记录 算法研究记录1 [{"url":"https://blog-images-frwalker.obs.dualstack.cn-east-4.myhuaweicloud.com/post-assets/2025-02-28-%E6%9F%94%E6%80%A7%E7%94%B5%E8%B7%AF%E6%9D%BFFPC%E5% ...
详情
图片
2025-02-27拓竹P1S初体验
打印机到手后,顺手记录一下打印的小物件和使用体验。 买的时候感觉无限可能,但感觉不久就要吃灰了,不知道干些什么!一共送了三卷耗材,绿色、橙色的PLA,还有个支撑耗材不会用,女朋友又支持了一卷透明色的耗材,这个耗材价格70/kg有些小贵,打印了下面这些小玩意基本送的耗材就用光了。 试水打印了个双色的的电路风格杯垫 确实不漏水的花瓶,薄薄一层 商城找的哪吒模型,不会上色 赠品环游火车,组装时不小心把502灌进了赠送的开关,彻底不能使用了。用电烙铁焊了个摇臂开关上去,螺丝只能外露在盖子上了。这个模型用到耗材是最多的,盖子反复打印了两次,因为新开关增加了高度,默认底座还得想办法垫高小火车才能跑起来 总的来说确实开箱即用了,之前diy大鱼的打印机只能说算是玩机了,这次玩上了3D打印。
详情
图片
2025-02-19cdn加速hexo博客_2次开发hexo-cdn-jsdelivr
hexo-cdn-jsdelivr是一款hexo博客的cdn加速插件,它可以帮助你快速的将博客相对和指定路径下的资源提取出来,并进行资源路径前缀的更改,从而实现博客的指定cdn资源加速。但随着hexo的版本更新,原插件的一些功能已经无法使用,所以本文二次开发了hexo-cdn-jsdelivr-plus插件,并将其发布到npm上,欢迎大家使用。 改进说明 1.去掉指定前缀的自动修改 原插件在指定前缀cdn_url_prefix后,会默认加上latest等标识,导致不支持相关格式的cdn访问失败,所以去掉了自动修改的功能,完全遵循用户指定的前缀。 2.支持博客图片的语法更为简洁 原插件长时间未更新,只支持hexo博客的早期语法: 12345678910111213141516171819<!-- You can use cdn_css(path) to replace css(path) in hexo --><%- cdn_css(path) %><!-- This is used to replace js(path) --><%- cdn_ ...
详情
图片
2025-01-16不更换插件解决Hexo博客Latex公式的渲染问题
问题描述 在Hexo博客中,使用默认的MathJax或者Katex渲染数学公式时,会出现渲染错误,导致公式无法正常显示。 解决方法 这里不考虑更换hexo渲染器的解决方案,容易导致各种样式问题和兼容性问题,主要采纳一些简单的语法技巧来解决。 1. 必要的情况下使用\进行转义 上图的公式在hexo无法正常显示,但在_前面加上\后可以正常显示: 原因不明,来源参考EasyHexo: 2. 使用<span>包裹公式,注意标签独占一行 很多公式直接写渲染异常,但用或者标签将LaTeX公式包裹起来,这样公式内容就不会被markdown渲染器识别为转义字符,就会显示正常,典型的比如换行字符\\. 不使用<span>标签的公式渲染效果如下: 123456789$$\begin{aligned}V(s)& =\mathbb{E}[G_t|S_t=s] \\&=\mathbb{E}[R_t+\gamma R_{t+1}+\gamma^2R_{t+2}+\ldots|S_t=s] \\&=\mathbb{E}[R_t+\gamma(R_{ ...
详情
图片
2025-01-10修改博客加密插件hexo-blog-encrypt 3.1.9,适配移动端
hexo-blog-encrypt 3.1.9是一个用于给博客文章加密的插件,它可以让你在发布文章之前对文章内容进行加密,只有加密后的文章才可以被阅读。但官方的有部分问题,这里提供一些解决方法,希望能帮助到大家。 1. 移动端输入法无法输入enter 由于输入法无法输入enter,导致在手机端无法输入密码解锁博客: 这里增加一个confirm按钮,用户点击确认按钮后,和enter一样也能触发解锁逻辑,分别修改三个文件: node_modules/hexo-blog-encrypt/lib/hbe.blink.html 12345678910111213<div class="hbe hbe-container" id="hexo-blog-encrypt" data-wpm="{{hbeWrongPassMessage}}" data-whm="{{hbeWrongHashMessage}}"> <sc ...
详情
图片
2024-08-15强化学习-1-多臂老虎机
强化学习的笔记、理解、感悟及代码实现,仅按个人思维进行精华总结和记录,使用的教程:动手学强化学习 .indent { text-indent: 2em; /* 设置首行缩进为2个字符宽度 */ } .image { display: block; margin-left: auto; margin-right: auto; margin-top: auto; margin-bottom: auto; width: 90%; height: auto; } 12import numpy as npimport matplotlib.pyplot as plt 问题描述 在多臂老虎机(multi-armed bandit,MAB)问题中,K根拉杆均对应一个奖励概率**R**,从而获得对应的奖励r.目标是在在各根拉杆的奖励概率分布未知的情况下,操作T次拉杆后获得尽可能高的累积奖励。 这是一种无状态的强化学习,只存在动作和奖励。 1234567891011121314class BernoulliBandit: ...
详情
图片
2024-08-15强化学习-2-马尔可夫决策过程
强化学习的笔记、理解、感悟及代码实现,仅按个人思维进行精华总结和记录,使用的教程:动手学强化学习 .indent { text-indent: 2em; /* 设置首行缩进为2个字符宽度 */ } .image { display: block; margin-left: auto; margin-right: auto; margin-top: auto; margin-bottom: auto; width: 90%; height: auto; } 马尔可夫奖励过程(Markov Reward Process, MRP) 不考虑动作策略,一个马尔可夫奖励过程由一个状态空间S、一个转移概率矩阵P、一个奖励函数R、一个折扣因子γ和一个初始状态s0组成。 状态空间S表示马尔可夫过程的状态集合。 转移概率矩阵P是一个S*S的矩阵,其中P(s,s’)表示在状态s下执行动作a后转移到状态s’的概率。 奖励函数R(s)表示转移到状态s可以获得的奖励 折扣因子γ取值在0~1之间,用于衡量短期奖励与长期奖励的折扣系数 ...
详情
图片
2024-08-15强化学习-3-动态规划
强化学习的笔记、理解、感悟及代码实现,仅按个人思维进行精华总结和记录,使用的教程:动手学强化学习 .indent { text-indent: 2em; /* 设置首行缩进为2个字符宽度 */ } .image { display: block; margin-left: auto; margin-right: auto; margin-top: auto; margin-bottom: auto; width: 90%; height: auto; } 动态规划依赖于子问题分解和递归方程,基于动态规划的强化学习算法主要有策略迭代和价值迭代两种,分别使用贝尔曼期望方程和贝尔曼最优方程,需要事先知道环境的状态转移和奖励函数,适用于有限的状态和动作空间。 策略迭代 策略迭代分策略评估和策略提升两部分,策略评估计算出每个状态的价值函数,策略提升根据价值函数改进策略,不断迭代直到收敛。 策略评估 贝尔曼期望方程为状态价值函数提供了一个递归关系。假设在某个状态s下,策略π(a|s)的价值函数为v(s,π),则贝尔曼期望方 ...
详情
图片
2024-08-15强化学习-4-时序差分
强化学习的笔记、理解、感悟及代码实现,仅按个人思维进行精华总结和记录,使用的教程:动手学强化学习 .indent { text-indent: 2em; /* 设置首行缩进为2个字符宽度 */ } .image { display: block; margin-left: auto; margin-right: auto; margin-top: auto; margin-bottom: auto; width: 90%; height: auto; } 动态规划里的策略迭代和价值迭代都是需要事先知道环境的奖励函数和状态转移函数,可以直接递归迭代出最优价值或策略。但在大部分场景,无法写出状态转移概率和进行动态规划。在这种情况下,智能体只能和环境进行交互,通过采样到的数据来学习,这类学习方法统称为无模型的强化学习。 时序差分 单步时序差分 时序差分是一种估计策略价值函数的方法,结合了蒙特卡洛(从样本数据中学习,不需要事先知道环境)和动态规划(根据贝尔曼方程利用后续状态的价值估计来更新当前状态的价值估计)的思想。 ...
详情
图片
2024-08-15强化学习-5-Dyna-Q算法
强化学习的笔记、理解、感悟及代码实现,仅按个人思维进行精华总结和记录,使用的教程:动手学强化学习 .indent { text-indent: 2em; /* 设置首行缩进为2个字符宽度 */ } .image { display: block; margin-left: auto; margin-right: auto; margin-top: auto; margin-bottom: auto; width: 90%; height: auto; } 相比Q-learning,Dyna-Q算法引入了一个环境模型,与环境进行交互时不仅更新Q值,也会记录交互数据到环境模型中,然后与环境模型进行n次的模拟交互更新Q值(这个步骤称为Q-planning),使用真实数据和和模拟数据一起改进策略。 Dyna-Q算法的主要步骤如下: 随着 Q-planning 步数的增多,Dyna-Q 算法的收敛速度也随之变快,但也受限于环境是否是确定的和环境模型的准确性。 实验 class CliffWalkingEnv: ...
详情
图片
2024-08-15强化学习-6-DQN算法
强化学习的笔记、理解、感悟及代码实现,仅按个人思维进行精华总结和记录,使用的教程:动手学强化学习 .indent { text-indent: 2em; /* 设置首行缩进为2个字符宽度 */ } .image { display: block; margin-left: auto; margin-right: auto; margin-top: auto; margin-bottom: auto; width: 90%; height: auto; } 环境准备: 12345678import randomimport gymimport numpy as npimport collectionsfrom tqdm import tqdmimport torchimport torch.nn.functional as Fimport imageio 深度 Q 网络(deep Q network,DQN)算法是从Q-learning 扩展而来。在之前的Q-learning算法中,动作价值函数q是使用数组表格 ...
详情
图片
2024-06-192024华为软件精英挑战赛-智慧港口
做2024华为软件精英挑战赛智慧港口的经历,用时一周,时间用来钻牛角尖了,最高分40万,很遗憾最终没有获奖,仅记录别参考!
详情
图片
2024-06-153.liunx shell及其脚本理解
什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_tut for ((i=0; i<10; i++)); do touch test_$i.txt done 示例解释 第1行:指定脚本解释器,这里是用/bin/sh做解释器的 第2行:切换到当前用户的home目录 第3行:创建一个目录shell_tut 第4行:切换到shell_tut目录 第5行:循环条件,一共循环10次 第6行:创建一个test_0…9.txt文件 第7行:循环体结束 mkdir, touch都是系统自带的程序,一般在/bin或者/usr/bin目录下。for, do, done是sh脚本语言的关键字。 shell和shell脚本的概念 shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson的sh是第一种Unix Shell,Windows Explorer是一个典型的图形界面Shell。 shell脚本(shell script),是一种为shell编写的脚本程序 ...
详情
图片
2024-06-152.linux文件系统及用户管理
用户和组管理 用户管理 1.useradd:添加用户 1useradd [-u 用户ID] [-g 用户组] [-G 用户组,用户组] [-m] 用户名 -c:指定用户注释信息 -d:指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录,默认在/home目录下 -u:指定用户ID -g:指定用户组 -G:指定附加用户组 -m:创建用户主目录 -s:指定用户登录shell,默认/bin/bash 2.userdel:删除用户 1userdel [-r] 用户名 -r:递归删除用户,即删除用户及其主目录 3.usermod:修改用户 1usermod [-u 用户ID] [-g 用户组] [-G 用户组,用户组] [-s 用户登录shell] 用户名 4.passwd:用户口令的管理 用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令 1passwd 选项 用户名 -l:锁定用户口令 -u:解锁用户口令 -d:删除用户口令 -f:强制修改用户口令, ...
详情
图片
2024-06-151.linux系统远程连接及x11转发图形界面
1.安装软件 ubuntu服务器 1apt-get install openssh-client openssh-server xauth windows客户端 安装Xming 2.配置 ubuntu服务器 修改 /etc/ssh/sshd_config 文件 12345# 允许root用户登录PermitRootLogin yes# 允许X11转发X11Forwarding yes 重启ssh服务 1service ssh restart windows客户端 修改.ssh/config 文件 12345678Host ubuntu HostName localhost Port 813 User root IdentityFile C:/Users/xxx/.ssh/id_rsa ForwardX11 yes ForwardX11Trusted yes ForwardAgent yes 运行Xming 3.测试 1.ssh连接 2.apt install x11-apps 3.输入 xeyes 4.本地显示结果
详情
图片
2024-05-15PCB扫盲-2.PCB结构与设计流程
课程基于B站UP主Expert电子实验室的教学视频,记录笔记用于扫盲,方便理解PCB的版图和进行后续的自动布线算法研究. [零基础入门PCB设计保姆级教学](https://www.bilibili.com/video/BV1At421h7Ui/?spm_id_from=333.1007. top_right_bar_window_default_collection.content.click&vd_source=c33a47a3f08b3b6b6c1614d37f34903f) 同时十分感谢评论区大佬Regenm的相关笔记,自己的这个笔记就可以随便记录一下了! .indent { text-indent: 2em; /* 设置首行缩进为2个字符宽度 */ } .pdf { display: block; margin-left: auto; margin-right: auto; width: 100%; /* 将宽度设置为100%,以适应父元素的宽度 */ height: 800px; /* ...
详情
图片
2024-05-15PCB扫盲-1.元器件认识
课程基于B站UP主Expert电子实验室的教学视频,记录笔记用于扫盲,方便理解PCB的版图和进行后续的自动布线算法研究. 零基础入门PCB设计保姆级教学 同时十分感谢评论区大佬Regenm的相关笔记,自己的这个笔记就可以随便记录一下了! .indent { text-indent: 2em; /* 设置首行缩进为2个字符宽度 */ } .pdf { display: block; margin-left: auto; margin-right: auto; width: 100%; /* 将宽度设置为100%,以适应父元素的宽度 */ height: 800px; /* 根据需要调整高度 */ } .side-by-side-images { display: flex; /* 使用 Flexbox 布局 */ } .image { flex: 1; /* 每张图片占用剩余空间 */ margin: 5 10px; /* 给图片之间添加一定的间隙 */ object-fit: cover ...
详情
图片
2024-04-24python编程经验、方法、随笔
记录一些平时在代码中较少用到但又很实用的python编程方法、技巧、经验,培养更好的编程习惯。
详情
图片
2024-02-15windows10 深度学习、强化学习、AI、torch相关的环境配置
深度学习环境搭建-windows10,使用镜像源、conda、pip配置torch、cuda环境 == 如果不想使用镜像源下载,直接使用vpn加速器也可以解决网速问题== 1.需要下载的工具 ==安装过程可参考:https://blog.csdn.net/Thebest_jack/article/details/123455215== CUDA 在NVIDIA设置或网上查看电脑支持的cuda版本,并将显卡驱动更新至最新。 CUDA官网 Anaconda Anaconda官网 若下载速度过慢可采用镜像源下载:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ Jupyter jupyter是由ipykernel包发展得来,随Anaconda默认安装在base虚拟环境中,命令窗中使用jupyter notebook可以直接在浏览器中打开。 1(base) C:\Users\luoweu>jupyter notebook 若要在自行创建的虚拟环境中使用,还需要安装相应的包,先激活相应的环境: 方法1 安装命令与python ...
详情
图片
2024-01-15第五届EDA精英挑战赛赛题八-标准单元电路的版图自动生成
EDA精英挑战赛由国家集成电路设计自动化技术创新中心、中国电子学会设奖,是国内EDA算法领域最高水平竞赛,从第六届开始并入研究生创芯大赛。所参加赛道由概伦电子出题,取得了大赛一等奖,技术分第一的成绩,仅以此文记录。 1.选题动机 说到选题动机,首先肯定是基于所有选题大概都看了一下,选这个题大概有这几方面的原因: 对结果的期望 实在的说,参加这个比赛的目的可能与这个比赛的举办愿景不一致!但学生嘛,一句话穷嘛,在合适的时间和精力代价下拿到尽量多的奖金肯定是第一动机,至于评优评先那都是后话了!这里不得不说,其实中国的很多竞赛对学生是很优待的,不冲着大奖去,冲着拿奖金的门槛去比对一般的同学来讲是不难的,在求学生涯中也是一笔不错的收入,感谢中国很多良心企业对这些比赛的支持!至于后面的动机就不太符合主流价值观了,既然第一目的是奖金,那肯定是没有抱着学习和增强能力的态度,选择竞争小、好拿奖的比赛和赛题才符合初衷,判断标准自然是去看一个比赛历史的参赛人数、地域分布、获奖概率、奖金多少等因素了! 自身基础 谈到基础,对一些完全零基础的,最推荐的就是算法类题目,一方面基本的流程步骤、网上资料都 ...
详情
图片
2023-08-30第六届研究生创芯大赛华为企业命题-ASIC芯片物理设计中的PathGroup规划算法
研究生创芯大赛由教育部学位管理与研究生教育司指导,中国学位与研究生教育学会主办,是研究生创新实践系列赛事之一。所参加赛道的题目是华为企业命题赛题十一——ASIC芯片物理设计中的PathGroup规划算法,上机题选的是EDA方向,获得了大赛二等奖和华为专项二等奖,仅以此文进行记录。 题目 描述及要求 Netlist是ASIC芯片物理设计的输入件,其中定义了数以百万计的standard cell之间的连接情况。物理设计EDA工具会基于netlist完成standard cell的placement、routing以及PPA优化等任务。其中,定义path group是一种常见的PPA优化方法,它通过识别设计中的关键时序路径,定义关键时序路径在时序优化过程中的权重分级,引导工具的优化。具体来说,为了定义path group,需要给定一条或一组时序路径的起点寄存器和终点寄存器(多个寄存器可借助通配符*表达)以及该path group的优化权重。通常path group需要根据placement阶段后的时序情况来定义,将时序较差的若干路径设置为高权重的path group,具体操作中需要多次迭代与 ...
详情
代码开发与环境管理工具汇总
求职-LeetCode热题100刷题记录
新机迁移-hexo\vscode\便携git\miniconda\i卡环境配置
通用印刷电路板全自动布线算法
基于元器件手册的智能建库算法
博客语法记录
柔性电路板FPC自动布线
拓竹P1S初体验
cdn加速hexo博客_2次开发hexo-cdn-jsdelivr
不更换插件解决Hexo博客Latex公式的渲染问题
公告
avatar
status
A blog for sharing my thoughts and experiences

网站资讯
文章总数 :
31
已运行时间 :
本站总字数 :
65.5k
本站总访客数 :
本站总访问量 :
最后更新 :
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體