- 博客(41)
- 收藏
- 关注
原创 关于Python模块导入机制的深度研究报告
本报告旨在深入剖析Python的模块导入(import)机制,并在此基础上,详细解答两个在实际开发中常见的复杂问题:1) 跨模块共享依赖库(如NumPy)时,引用的是哪个库实例;报告将结合Python的模块缓存、命名空间以及NumPy库的设计原理,为开发者提供清晰的解释和最佳实践建议。这种全局状态的设计在简单脚本中很方便,但在大型、模块化的应用程序中,它是一个巨大的隐患,因为它破坏了代码的封装性和可预测性。是一个修改全局状态的函数,其影响会穿透模块和类的边界,波及整个应用程序。在了这个实例内部。
2025-09-08 09:56:37
748
原创 自己建立环境,seed无法正常设置的问题
在新建的环境中添加一个全局的seed设置就好了。reset的seed仍然保留,而且可以发挥作用。很奇怪,有没有大佬帮忙解释一下?或者我可以从哪里学到这些知识呢?
2025-09-07 00:38:35
261
原创 关于无法导入父路径的问题
允许使用绝对导入(如from utils import Config, set_DATA_PATH)sys.path.insert(0, project_root) 将项目根目录添加到路径列表的开头。os.path.dirname() 两次获取父目录的父目录(项目根目录) 3。这样Python会在项目根目录中查找模块,使绝对导入成为可能。os.path.abspath() 确保路径是绝对路径 2。sys.path 是Python解释器查找模块的路径列表。获取当前脚本的绝对路径 1。解决了相对导入的限制。
2025-09-05 22:37:54
244
原创 创建强化学习环境问题分析(converseenv_v2)
这篇技术文章分析了强化学习代码改造过程中遇到的KeyError问题。作者通过对比原始代码和环境中的表达式,发现错误源于表达式生成时与regions定义不一致。通过在关键位置添加与regions定义相匹配的代码,成功解决了KeyError问题,使强化学习训练能够正常进行计算。文章展示了如何通过代码对比和定义一致性检查来定位和解决编程错误。
2025-08-18 10:25:01
239
原创 linux中 多进程 导致cuda错误的问题解决
根本原因CUDA 上下文隔离问题Linux 默认使用fork方式创建子进程父进程的 CUDA 上下文被子进程继承,但无法正确访问导致子进程尝试初始化 CUDA 时失败PyTorch 多进程限制PyTorch 不支持在fork创建的子进程中直接使用 CUDA模型加载代码在子进程执行时会引发冲突。
2025-08-04 19:28:45
392
原创 错误处理_IncompatibleKeys
这个修改确保了始终传递正确的模型实例给工作进程,同时保持了原有的功能逻辑。),而不是模型本身。当后续代码尝试调用这个返回对象的。失败时返回的对象),而不是预期的。对象(这是 PyTorch 在。方法在遇到不匹配的键时会返回。这个错误表明当尝试调用。
2025-08-02 14:43:30
178
1
原创 从别的文件间接导入torch导致cuda无法识别的问题
摘要 同一Python环境下两段代码导入相同utils库时,出现一个能识别CUDA而另一个不能的问题。排查发现不是环境、驱动或kernel的问题。解决方案是在无法识别CUDA的utils库中,在导入torch后添加打印语句(如print(torch.cuda.is_available())),该操作意外解决了问题。修改后代码成功识别到CUDA可用性(显示为True)。这表明某些情况下显式调用CUDA检查可能有助于正确初始化CUDA环境。
2025-08-01 09:59:42
130
1
原创 LockFile简要分析
FileLock是Python中实现文件级锁定的工具,用于解决多进程/多线程环境下共享文件的并发访问问题。它通过创建临时锁文件(如bgem3.json.lock)确保同一时间只有一个进程能操作文件,防止数据损坏和脏读。核心机制包括:进入with块时创建锁文件(阻塞其他进程),安全读写文件(保证原子性),退出时自动释放锁。相比其他方案(如线程锁或手动锁文件),FileLock具有跨进程、跨平台、自动管理等优势。在代码中,它既保证了缓存一致性,又避免了重复API调用,是性能与安全性的平衡选择。
2025-07-20 20:57:32
352
原创 使用multiprocessing中的Pipe实现多进程通信
本文介绍了一个基于Python多进程的双向通信机制实现方案。核心使用multiprocessing.Pipe建立父子进程间的通信管道,配合select.select()实现高效的多路复用监控。主进程通过select监控多个子进程管道的可读状态,实现非阻塞式通信处理;子进程定期发送随机数据并接收响应,支持通过结束标志优雅退出。该方案具有并发通信、双向交互、非阻塞I/O等特点,展示了多进程间高效通信的有效实现方式。代码结构清晰,主进程负责创建子进程和管理通信,子进程专注于消息收发和处理。
2025-07-17 12:27:04
227
1
原创 如何使用markdown编辑器
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + S
2025-01-16 09:46:22
742
原创 Error while launching program: no targets found with “name =~ *APU*&jtag_cable_name =~ “Platform “
检查JTAG模式跳线设置,确保其正确配置。
2024-09-30 20:20:52
1309
原创 从一个例子出发, 说一下自己对于python中的simpy进行模拟的一些理解
现在,我们来仿真“每天的商店营业额”这个复合泊松过程吧。首先,我们假设每个小时进入商店的平均人数为:[10, 5, 3, 6, 8, 10, 20, 40, 100, 80, 40, 50, 100, 120, 30, 30, 60, 80, 100, 150, 70, 20, 20, 10],每位顾客的平均花费为:10元(大约一份早餐吧),请问每天商店的营业额是多少?
2024-08-27 23:31:44
486
原创 遗传蚁群算法简要分析(真的很简要,只有主要公式和思想)
遗传蚁群算法是一种结合了遗传算法和蚁群算法优点的混合优化算法。下面以旅行商问题为例,详细解释这个算法的主要公式和概念。
2024-08-24 22:35:02
1618
原创 蚁群算法求解函数极值python实现
定义目标函数demo_func,它接收一个三维向量x作为输入。:将输入向量x解包为三个独立的变量x1x2和x3。:计算目标函数值,该函数形式为fx1x2x3x12x2−0.052x32fx1x2x3x12x2−0.052x32,这是一个简单的二次函数,用于模拟一个优化问题。
2024-08-23 13:43:19
934
原创 使用GA解决旅行商(TSP)问题,python代码分析
定义目标函数,用于计算给定路径routine的总距离。:获取路径中的城市数量,即路径长度。:计算路径总距离。这里使用列表生成式遍历路径中的每个城市对,计算相邻城市之间的距离,并将这些距离相加得到总距离。:当前城市的索引。:下一个城市的索引,使用模运算确保最后一个城市与第一个城市相连(形成闭环)。通过生成随机城市坐标,利用遗传算法解决旅行商问题,最终找到了最短路径并可视化展示。代码的核心是定义目标函数来计算路径总距离,并通过遗传算法优化路径。
2024-08-23 10:48:00
710
原创 容量限制VRP问题简要分析(主要是模型建立)
这些公式和约束条件共同构成了一个基本的车辆路径规划(VRP)模型,旨在优化运输成本,同时确保每个客户点的需求被满足,并且车辆的行程是合理的。通过这些约束,模型能够有效地规划车辆的运输路径。
2024-08-21 01:10:28
1091
原创 最小生成树分析以及Python代码(networkx实现,画图)
主要用到了的是nx.minimum_spanning_tree()和nx.tree.minimum_spanning_edges()# 创建带权边的列表]]# 创建无向图并添加边return G# 计算最小生成树mst_kruskal = nx.minimum_spanning_tree(G) # Kruskal 算法生成的最小生成树(图对象)。
2024-08-19 22:13:18
1100
原创 CSI数据的线性误差和非线性误差的消除思路
为了匹配CSI数据曲线,采用了残差平方和最小原则,利用高斯-牛顿法求解,使用下面的r^2进行拟合度的检验,一般认为r^2 > 0.98就是比较不错的.对CSI的相邻数据的相位角进行unwrap之后可以发现存在线性误差和非线性误差. 线性误差体现在存在一定的斜率. 非线性误差体现在不是一条直线.对于图中的曲线进行拟合, 得到一条拟合直线方程, 然后可以在原来的CSI函数值的基础上, 减去拟合直线方程的函数值, 得到没有斜率的CSI.什么时候可以去到比较小的函数值,按道理来说应该是相邻的两个子载波的。
2024-08-18 11:11:42
580
原创 MUSIC算法除AoA仅保留ToF改进/使用CSI估计ToF
这个代码写的非常困难,主要问题在于忘记了对R矩阵进行转置. 转置之后得到了正确的结果.
2024-08-17 22:17:13
1123
2
原创 演化博弈简要分析
中小企业可以选择还款或不还款,而银行可以选择要求上链或不要求上链。收益矩阵展示了不同策略组合下双方的收益。中小企业(SMEs)和银行之间的演化博弈。博弈的策略组合和收益矩阵如图所示。分别表示中小企业和银行在特定策略下的预期收益,分别表示中小企业和银行的平均收益。
2024-08-08 17:11:21
2408
原创 求解高阶微分方程的数值解
使用odeint求解这个方程的数值解: 思路: 分解为方程组进行计算. 也就是带入, 化简为下面的方程: 结果: 马马老师文章
2024-08-03 12:28:27
323
原创 分布式弹性计算理论实现矩阵向量乘法
原理图: 结果: 可见精度很高. Yaoqing Yang, Pulkit Grover, Soummya Kar--Coded Elastic Computing持续分享分布式计算
2024-07-31 23:18:08
274
原创 softmax regression, 简单神经网络python代码实现
本文讲解了softmax回归的原理与公式,并通过python实现了使用其进行分类,效果很好_softmax python。softmax原理讲解与python代码实现_softmax python-CSDN博客。对于梯度的理解不是很扎实, 需要在进一步学习梯度的计算过程.accuracy=0.9966666667, 精度比较高.
2024-07-27 09:56:46
497
1
原创 类型实参相关的知识: 如果构造器是泛型构造器,同时该类也是一个泛型类的情况下应该如何使用泛型构造器
如果构造器是泛型构造器,同时该类也是一个泛型类的情况下应该如何使用泛型构造器
2023-07-20 11:13:47
106
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅