短期电力负荷(论文复现)


✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭~✨✨

🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。

我是Srlua小谢,在这里我会分享我的知识和经验。🎥

希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮

记得先点赞👍后阅读哦~ 👏👏

📘📚 所属专栏:传知代码论文复现

欢迎访问我的主页:Srlua小谢 获取更多信息和资源。✨✨🌙🌙

​​

​​

目录

备注

前言介绍

问题背景

复现:

一. 多维特征提取的提取框架:

二. 论文中进行性能测试的MultiTag2Vec-STLF模型:

三. 与整数编码(IE)的特征处理方法进行对比

部署方式


备注

  • 需要本文的详细复现过程的项目源码、数据和预训练好的模型可从该地址处获取完整版:地址跳转

前言介绍

  • 短期电力负荷技术是对未来几小时或一天内电力系统负荷变化进行预测的技术。该技术通过收集和分析历史负荷数据及相关影响因素,运用时间序列分析、回归分析、神经网络、支持向量机等数学模型和方法,对电力负荷进行精确预测。短期电力负荷预测对于电力系统运行和调度至关重要,有助于电力企业制定合理的发电和输电计划,保障电网的安全稳定运行,降低运行成本,提高供电质量和经济效益。

问题背景

一. 基本问题

  • 短期电力负荷预测(STLF),即对未来几小时到几周的电力负荷进行准确预测。

二. 本论文发现的问题

  • 在电力负荷预测中,由于数据的高维性和波动性,传统的特征提取方法往往难以捕捉到负荷数据中的复杂模式和关系。

对于论文发现问题的解决方案: 在这里插入图片描述 本论文通过提出一个名为MultiTag2Vec的特征提取框架来解决短期电力负荷预测(STLF)中的特征工程问题。该框架包括两个主要过程:标记(tagging)和嵌入(embedding)。

  • 标记过程:首先,通过从高维时间序列数据中提取关键信息,将电气负荷数据转换成紧凑形式。这一步通过聚类子序列来发现重复出现的模式,并为每个模式分配唯一的标签,从而实现数据的标记。

  • 嵌入过程:接下来,通过学习标签序列中的时间和维度关系来提取特征。为了捕捉这些关系,提出了一个带有卷积层的网络模型,该模型采用数学分析设计的多输出结构。通过训练,可以从任何任意多维标签中提取特征。

复现:

一. 多维特征提取的提取框架:

  • 时间序列切分,聚类,打标签

<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#770088">def</span> <span style="color:#0000ff">segment_time_series</span>(<span style="color:#000000">X</span>, <span style="color:#000000">T</span>):<span style="color:#aa1111">"""</span>
<span style="color:#aa1111">    将时间序列 X 分段为长度为 T 的子序列。</span>
<span style="color:#aa1111">    X: 多元时间序列 (N x D), N 为时间序列长度, D 为维度数</span>
<span style="color:#aa1111">    T: 每个子序列的长度</span>
<span style="color:#aa1111">    返回: 分段后的子序列集合,形状为 (N_segment, T, D)</span>
<span style="color:#aa1111">    """</span><span style="color:#000000">N</span>, <span style="color:#000000">D</span> <span style="color:#981a1a">=</span> <span style="color:#000000">X</span>.<span style="color:#000000">shape</span><span style="color:#000000">N_segment</span> <span style="color:#981a1a">=</span> <span style="color:#000000">N</span> <span style="color:#981a1a">//</span> <span style="color:#000000">T</span>  <span style="color:#aa5500"># 计算分段后的子序列数量</span><span style="color:#000000">segments</span> <span style="color:#981a1a">=</span> <span style="color:#000000">np</span>.<span style="color:#000000">array</span>([<span style="color:#000000">X</span>[<span style="color:#000000">i</span><span style="color:#981a1a">*</span><span style="color:#000000">T</span>:(<span style="color:#000000">i</span><span style="color:#981a1a">+</span><span style="color:#116644">1</span>)<span style="color:#981a1a">*</span><span style="color:#000000">T</span>] <span style="color:#770088">for</span> <span style="color:#000000">i</span> <span style="color:#770088">in</span> <span style="color:#3300aa">range</span>(<span style="color:#000000">N_segment</span>)])<span style="color:#770088">return</span> <span style="color:#000000">segments</span>
​
<span style="color:#aa5500"># 2. 模式发现</span>
<span style="color:#770088">def</span> <span style="color:#0000ff">discover_patterns</span>(<span style="color:#000000">segments</span>, <span style="color:#000000">K</span>):<span style="color:#aa1111">"""</span>
<span style="color:#aa1111">    对分段后的子序列进行聚类,提取模式。</span>
<span style="color:#aa1111">    segments: 分段后的子序列集合, 形状为 (N_segment, T, D)</span>
<span style="color:#aa1111">    K: 聚类的数量,即模式的数量</span>
<span style="color:#aa1111">    返回: 每个维度的模式集合,形状为 (K, T, D)</span>
<span style="color:#aa1111">    """</span><span style="color:#000000">N_segment</span>, <span style="color:#000000">T</span>, <span style="color:#000000">D</span> <span style="color:#981a1a">=</span> <span style="color:#000000">segments</span>.<span style="color:#000000">shape</span><span style="color:#000000">patterns</span> <span style="color:#981a1a">=</span> []<span style="color:#aa5500"># 对每个维度单独进行聚类</span><span style="color:#770088">for</span> <span style="color:#000000">d</span> <span style="color:#770088">in</span> <span style="color:#3300aa">range</span>(<span style="color:#000000">D</span>):<span style="color:#aa5500"># 提取第 d 个维度的所有子序列</span><span style="color:#000000">data_d</span> <span style="color:#981a1a">=</span> <span style="color:#000000">segments</span>[:, :, <span style="color:#000000">d</span>]  <span style="color:#aa5500"># 形状为 (N_segment, T)</span><span style="color:#aa5500"># 使用 KMeans 进行聚类</span><span style="color:#000000">kmeans</span> <span style="color:#981a1a">=</span> <span style="color:#000000">KMeans</span>(<span style="color:#000000">n_clusters</span><span style="color:#981a1a">=</span><span style="color:#000000">K</span>, <span style="color:#000000">random_state</span><span style="color:#981a1a">=</span><span style="color:#116644">42</span>)<span style="color:#000000">kmeans</span>.<span style="color:#000000">fit</span>(<span style="color:#000000">data_d</span>)<span style="color:#aa5500"># 保存聚类中心(模式)</span><span style="color:#000000">patterns</span>.<span style="color:#000000">append</span>(<span style="color:#000000">kmeans</span>.<span style="color:#000000">cluster_centers_</span>)<span style="color:#aa5500"># patterns 为 D 维的聚类中心集合,形状为 (D, K, T)</span><span style="color:#770088">return</span> <span style="color:#000000">np</span>.<span style="color:#000000">array</span>(<span style="color:#000000">patterns</span>)
​
<span style="color:#aa5500"># 3. 数据标记</span>
<span style="color:#770088">def</span> <span style="color:#0000ff">tag_data</span>(<span style="color:#000000">segments</span>, <span style="color:#000000">patterns</span>):<span style="color:#aa1111">"""</span>
<span style="color:#aa1111">    对每个子序列打标签,标签为距离最近的聚类中心。</span>
<span style="color:#aa1111">    segments: 分段后的子序列集合, 形状为 (N_segment, T, D)</span>
<span style="color:#aa1111">    patterns: 每个维度的聚类中心集合,形状为 (D, K, T)</span>
<span style="color:#aa1111">    返回: 每个子序列的标签集合,形状为 (N_segment, D)</span>
<span style="color:#aa1111">    """</span><span style="color:#000000">N_segment</span>, <span style="color:#000000">T</span>, <span style="color:#000000">D</span> <span style="color:#981a1a">=</span> <span style="color:#000000">segments</span>.<span style="color:#000000">shape</span><span style="color:#000000">K</span> <span style="color:#981a1a">=</span> <span style="color:#000000">patterns</span>.<span style="color:#000000">shape</span>[<span style="color:#116644">1</span>]  <span style="color:#aa5500"># 模式的数量</span><span style="color:#000000">labels</span> <span style="color:#981a1a">=</span> <span style="color:#000000">np</span>.<span style="color:#000000">zeros</span>((<span style="color:#000000">N_segment</span>, <span style="color:#000000">D</span>), <span style="color:#000000">dtype</span><span style="color:#981a1a">=</span><span style="color:#3300aa">int</span>)<span style="color:#aa5500"># 对每个维度进行标记</span><span style="color:#770088">for</span> <span style="color:#000000">d</span> <span style="color:#770088">in</span> <span style="color:#3300aa">range</span>(<span style="color:#000000">D</span>):<span style="color:#770088">for</span> <span style="color:#000000">i</span> <span style="color:#770088">in</span> <span style="color:#3300aa">range</span>(<span style="color:#000000">N_segment</span>):<span style="color:#aa5500"># 计算当前子序列与所有聚类中心的距离</span><span style="color:#000000">distances</span> <span style="color:#981a1a">=</span> <span style="color:#000000">np</span>.<span style="color:#000000">linalg</span>.<span style="color:#000000">norm</span>(<span style="color:#000000">segments</span>[<span style="color:#000000">i</span>, :, <span style="color:#000000">d</span>] <span style="color:#981a1a">-</span> <span style="color:#000000">patterns</span>[<span style="color:#000000">d</span>], <span style="color:#000000">axis</span><span style="color:#981a1a">=</span><span style="color:#116644">1</span>)<span style="color:#aa5500"># 选择最小距离的聚类中心的标签</span><span style="color:#000000">labels</span>[<span style="color:#000000">i</span>, <span style="color:#000000">d</span>] <span style="color:#981a1a">=</span> <span style="color:#000000">np</span>.<span style="color:#000000">argmin</span>(<span style="color:#000000">distances</span>)<span style="color:#770088">return</span> <span style="color:#000000">labels</span></span></span>
  • 嵌入网络定义:

<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#770088">class</span> <span style="color:#0000ff">EmbeddingNetwork</span>(<span style="color:#000000">nn</span>.<span style="color:#000000">Module</span>):<span style="color:#770088">def</span> <span style="color:#0000ff">__init__</span>(<span style="color:#0055aa">self</span>, <span style="color:#000000">D</span>, <span style="color:#000000">K</span>, <span style="color:#000000">M</span>):<span style="color:#3300aa">super</span>(<span style="color:#000000">EmbeddingNetwork</span>, <span style="color:#0055aa">self</span>).<span style="color:#000000">__init__</span>()<span style="color:#aa5500"># 卷积层,用于提取输入张量的特征</span><span style="color:#0055aa">self</span>.<span style="color:#000000">conv</span> <span style="color:#981a1a">=</span> <span style="color:#000000">nn</span>.<span style="color:#000000">Conv2d</span>(<span style="color:#000000">in_channels</span><span style="color:#981a1a">=</span><span style="color:#000000">D</span>, <span style="color:#000000">out_channels</span><span style="color:#981a1a">=</span><span style="color:#000000">M</span>, <span style="color:#000000">kernel_size</span><span style="color:#981a1a">=</span>(<span style="color:#116644">1</span>, <span style="color:#000000">K</span>), <span style="color:#000000">stride</span><span style="color:#981a1a">=</span><span style="color:#116644">1</span>)  <span style="color:#0055aa">self</span>.<span style="color:#000000">pool</span> <span style="color:#981a1a">=</span> <span style="color:#000000">nn</span>.<span style="color:#000000">AdaptiveAvgPool2d</span>((<span style="color:#116644">1</span>, <span style="color:#116644">1</span>))
​
​<span style="color:#aa5500"># 两个并行的全连接层,用于预测两个维度的输出标签</span><span style="color:#0055aa">self</span>.<span style="color:#000000">fc1</span> <span style="color:#981a1a">=</span> <span style="color:#000000">nn</span>.<span style="color:#000000">Linear</span>(<span style="color:#000000">M</span>, <span style="color:#000000">K</span>)<span style="color:#0055aa">self</span>.<span style="color:#000000">fc2</span> <span style="color:#981a1a">=</span> <span style="color:#000000">nn</span>.<span style="color:#000000">Linear</span>(<span style="color:#000000">M</span>, <span style="color:#000000">K</span>)
​<span style="color:#770088">def</span> <span style="color:#0000ff">forward</span>(<span style="color:#0055aa">self</span>, <span style="color:#000000">x</span>):<span style="color:#aa5500"># 卷积层</span><span style="color:#3300aa">print</span>(<span style="color:#000000">x</span>.<span style="color:#000000">shape</span>)<span style="color:#000000">x</span> <span style="color:#981a1a">=</span> <span style="color:#0055aa">self</span>.<span style="color:#000000">conv</span>(<span style="color:#000000">x</span>)  <span style="color:#aa5500"># 卷积操作</span><span style="color:#3300aa">print</span>(<span style="color:#000000">x</span>.<span style="color:#000000">shape</span>)<span style="color:#000000">x</span> <span style="color:#981a1a">=</span> <span style="color:#0055aa">self</span>.<span style="color:#000000">pool</span>(<span style="color:#000000">x</span>)  <span style="color:#aa5500"># 使用自适应平均池化,将每个样本缩减为大小为 (M, 1)</span><span style="color:#3300aa">print</span>(<span style="color:#000000">x</span>.<span style="color:#000000">shape</span>)<span style="color:#000000">x</span> <span style="color:#981a1a">=</span> <span style="color:#000000">x</span>.<span style="color:#000000">view</span>(<span style="color:#000000">x</span>.<span style="color:#000000">size</span>(<span style="color:#116644">0</span>), <span style="color:#981a1a">-</span><span style="color:#116644">1</span>)  <span style="color:#aa5500"># 展平张量,形状变为 (batch_size, M)</span><span style="color:#aa5500"># 两个并行的全连接层</span><span style="color:#000000">output1</span> <span style="color:#981a1a">=</span> <span style="color:#0055aa">self</span>.<span style="color:#000000">fc1</span>(<span style="color:#000000">x</span>)  <span style="color:#aa5500"># 维度1的输出</span><span style="color:#000000">output2</span> <span style="color:#981a1a">=</span> <span style="color:#0055aa">self</span>.<span style="color:#000000">fc2</span>(<span style="color:#000000">x</span>)  <span style="color:#aa5500"># 维度2的输出</span><span style="color:#aa5500"># 将两个输出拼接在一起,形成最后的输出</span><span style="color:#000000">output</span> <span style="color:#981a1a">=</span> <span style="color:#000000">torch</span>.<span style="color:#000000">stack</span>((<span style="color:#000000">output1</span>, <span style="color:#000000">output2</span>), <span style="color:#000000">dim</span><span style="color:#981a1a">=</span><span style="color:#116644">1</span>)<span style="color:#770088">return</span> <span style="color:#000000">output</span></span></span>

二. 论文中进行性能测试的MultiTag2Vec-STLF模型:

<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#770088">class</span> <span style="color:#0000ff">FeatureExtractor</span>(<span style="color:#000000">nn</span>.<span style="color:#000000">Module</span>):<span style="color:#770088">def</span> <span style="color:#0000ff">__init__</span>(<span style="color:#0055aa">self</span>, <span style="color:#000000">embedding_network</span>):<span style="color:#3300aa">super</span>(<span style="color:#000000">FeatureExtractor</span>, <span style="color:#0055aa">self</span>).<span style="color:#000000">__init__</span>()<span style="color:#0055aa">self</span>.<span style="color:#000000">conv</span> <span style="color:#981a1a">=</span> <span style="color:#000000">embedding_network</span>.<span style="color:#000000">conv</span>
​<span style="color:#770088">def</span> <span style="color:#0000ff">forward</span>(<span style="color:#0055aa">self</span>, <span style="color:#000000">x</span>):<span style="color:#000000">x</span> <span style="color:#981a1a">=</span> <span style="color:#0055aa">self</span>.<span style="color:#000000">conv</span>(<span style="color:#000000">x</span>)  <span style="color:#aa5500"># 卷积层</span><span style="color:#000000">x</span> <span style="color:#981a1a">=</span> <span style="color:#000000">x</span>.<span style="color:#000000">view</span>(<span style="color:#000000">x</span>.<span style="color:#000000">size</span>(<span style="color:#116644">0</span>), <span style="color:#981a1a">-</span><span style="color:#116644">1</span>)  <span style="color:#aa5500"># 展平张量</span><span style="color:#770088">return</span> <span style="color:#000000">x</span>
​
<span style="color:#aa5500"># 初始化特征提取器</span>
<span style="color:#000000">feature_extractor</span> <span style="color:#981a1a">=</span> <span style="color:#000000">FeatureExtractor</span>(<span style="color:#000000">embedding_network</span>)
​
<span style="color:#aa5500"># 4. 定义 MultiTag2Vec-STLF 模型</span>
<span style="color:#770088">class</span> <span style="color:#0000ff">MultiTag2VecSTLF</span>(<span style="color:#000000">nn</span>.<span style="color:#000000">Module</span>):<span style="color:#770088">def</span> <span style="color:#0000ff">__init__</span>(<span style="color:#0055aa">self</span>, <span style="color:#000000">input_dim</span>, <span style="color:#000000">hidden_dim</span>, <span style="color:#000000">output_dim</span>, <span style="color:#000000">feature_extractor</span>):<span style="color:#3300aa">super</span>(<span style="color:#000000">MultiTag2VecSTLF</span>, <span style="color:#0055aa">self</span>).<span style="color:#000000">__init__</span>()<span style="color:#0055aa">self</span>.<span style="color:#000000">feature_extractor</span> <span style="color:#981a1a">=</span> <span style="color:#000000">feature_extractor</span><span style="color:#aa5500"># 冻结特征提取器的参数</span><span style="color:#770088">for</span> <span style="color:#000000">param</span> <span style="color:#770088">in</span> <span style="color:#0055aa">self</span>.<span style="color:#000000">feature_extractor</span>.<span style="color:#000000">parameters</span>():<span style="color:#000000">param</span>.<span style="color:#000000">requires_grad</span> <span style="color:#981a1a">=</span> <span style="color:#770088">False</span><span style="color:#aa5500"># 双向 LSTM 层</span><span style="color:#0055aa">self</span>.<span style="color:#000000">lstm</span> <span style="color:#981a1a">=</span> <span style="color:#000000">nn</span>.<span style="color:#000000">LSTM</span>(<span style="color:#000000">input_dim</span>, <span style="color:#000000">hidden_dim</span>, <span style="color:#000000">batch_first</span><span style="color:#981a1a">=</span><span style="color:#770088">True</span>, <span style="color:#000000">bidirectional</span><span style="color:#981a1a">=</span><span style="color:#770088">True</span>)<span style="color:#aa5500"># 自注意力机制</span><span style="color:#0055aa">self</span>.<span style="color:#000000">attention</span> <span style="color:#981a1a">=</span> <span style="color:#000000">nn</span>.<span style="color:#000000">MultiheadAttention</span>(<span style="color:#000000">embed_dim</span><span style="color:#981a1a">=</span><span style="color:#116644">2</span> <span style="color:#981a1a">*</span> <span style="color:#000000">hidden_dim</span>, <span style="color:#000000">num_heads</span><span style="color:#981a1a">=</span><span style="color:#116644">1</span>, <span style="color:#000000">batch_first</span><span style="color:#981a1a">=</span><span style="color:#770088">True</span>)<span style="color:#aa5500"># 全连接层用于预测下一天 24 小时的负荷</span><span style="color:#0055aa">self</span>.<span style="color:#000000">fc</span> <span style="color:#981a1a">=</span> <span style="color:#000000">nn</span>.<span style="color:#000000">Linear</span>(<span style="color:#116644">2</span> <span style="color:#981a1a">*</span> <span style="color:#000000">hidden_dim</span>, <span style="color:#000000">output_dim</span>)
​<span style="color:#770088">def</span> <span style="color:#0000ff">forward</span>(<span style="color:#0055aa">self</span>, <span style="color:#000000">x</span>):<span style="color:#000000">x</span> <span style="color:#981a1a">=</span> <span style="color:#0055aa">self</span>.<span style="color:#000000">feature_extractor</span>(<span style="color:#000000">x</span>)<span style="color:#000000">x</span> <span style="color:#981a1a">=</span> <span style="color:#000000">x</span>.<span style="color:#000000">view</span>(<span style="color:#000000">x</span>.<span style="color:#000000">size</span>()[<span style="color:#116644">0</span>], <span style="color:#000000">seg_c</span>, <span style="color:#981a1a">-</span><span style="color:#116644">1</span>)<span style="color:#aa5500"># LSTM 前向传播</span><span style="color:#000000">lstm_out</span>, <span style="color:#000000">_</span> <span style="color:#981a1a">=</span> <span style="color:#0055aa">self</span>.<span style="color:#000000">lstm</span>(<span style="color:#000000">x</span>)  <span style="color:#aa5500"># lstm_out 形状: (batch_size, seq_length, 2 * hidden_dim)</span><span style="color:#aa5500"># 注意力机制</span><span style="color:#000000">attn_output</span>, <span style="color:#000000">_</span> <span style="color:#981a1a">=</span> <span style="color:#0055aa">self</span>.<span style="color:#000000">attention</span>(<span style="color:#000000">lstm_out</span>, <span style="color:#000000">lstm_out</span>, <span style="color:#000000">lstm_out</span>)  <span style="color:#aa5500"># 计算自注意力,形状: (batch_size, seq_length, 2 * hidden_dim)</span><span style="color:#000000">context_vector</span> <span style="color:#981a1a">=</span> <span style="color:#000000">torch</span>.<span style="color:#000000">sum</span>(<span style="color:#000000">attn_output</span>, <span style="color:#000000">dim</span><span style="color:#981a1a">=</span><span style="color:#116644">1</span>)  <span style="color:#aa5500"># 计算上下文向量,形状: (batch_size, 2 * hidden_dim)</span><span style="color:#aa5500"># 全连接层预测</span><span style="color:#000000">output</span> <span style="color:#981a1a">=</span> <span style="color:#0055aa">self</span>.<span style="color:#000000">fc</span>(<span style="color:#000000">context_vector</span>)  <span style="color:#aa5500"># 预测输出,形状: (batch_size, output_dim)</span><span style="color:#770088">return</span> <span style="color:#000000">output</span></span></span>

三. 与整数编码(IE)的特征处理方法进行对比

使用论文中的GEFCom2014数据集中的温度和负荷数据,训练的参数设置按照论文中最优效果的参数设置。论文中使用的温度数据来自于数据集中的哪一个气象站,论文中没有说,此处是选择w1气象站的温度数据训练的结果和论文中的RMSE指标不太一样,但是从IE和MultiTag2Vec的RMSE指标对比可以看到,论文提出的特征提取方法具有一定优势。

部署方式

  • Python 3.9.12

  • Pytorch

  • 以及其他的常用python库


  • 需要本文的详细复现过程的项目源码、数据和预训练好的模型可从该地址处获取完整版:地址跳转

 ​​

希望对你有帮助!加油!

若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/15535.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

DBeaver如何设置自动刷新数据库表的数据,彻底解放双手!

前言 大家好&#xff0c;我是小徐啊。 DBeaver是一款常用的数据库连接工具&#xff0c;它的优点是免费使用&#xff0c;而且支持的数据库类型超级多&#xff0c;甚至可以直接安装数据库对应的驱动jar包来连接数据库。 比如达梦数据库&#xff0c;之前版本是可以通过jar包方式…

黄仁勋:AI革命将创百万亿美元价值!近屿智能带你入局AIGC

11月13日&#xff0c;NVIDIA在日本成功举办了2024年AI峰会。一场关于人工智能驱动的新工业革命的讨论热烈展开。英伟达创始人兼CEO黄仁勋与软银主席兼CEO孙正义共同探讨了当前技术革命的独特之处及其深远影响。 黄仁勋在会上表示&#xff0c;AI革命将创造的价值不是以万亿美元计…

知网翻译助手及其10款翻译工具使用体验大PK!!!

在这个信息爆炸的时代&#xff0c;翻译工具成了我们日常工作中不可或缺的得力助手。作为一个经常需要处理多语言文件的人&#xff0c;翻译工具对我来说简直是救命稻草。除了知网助手外&#xff0c;我还用过不少翻译软件&#xff0c;现在&#xff0c;我就来说说知网翻译助手和其…

Entity Framework的简单使用案例

需要引入的框架&#xff1a; 实体类&#xff1a; [Table("Users")] internal class User {[Key]public int Id { get; set; }[Required][StringLength(100)][Index(IsUnique true)]public string Username { get; set; }[Required][StringLength(100)]public strin…

Scroll 生态全面启动为 Pencils Protocol 赋能,DAPP 将迎强势腾飞

​Pencils Protocol 是 Scroll 生态最大的综合性 DeFi 平台&#xff0c;随着 DAPP 通证面向市场&#xff0c;Pencils Protocol 生态经济体系也将迎来全面运转。目前&#xff0c;DAPP 通证已经陆续上线了 Gate、Kucoin、Bitget、Coinone 等主流交易市场&#xff0c;全球用户能够…

【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-23

文件下载与邀请翻译者 学习英特尔开发手册&#xff0c;最好手里这个手册文件。原版是PDF文件。点击下方链接了解下载方法。 讲解下载英特尔开发手册的文章 翻译英特尔开发手册&#xff0c;会是一件耗时费力的工作。如果有愿意和我一起来做这件事的&#xff0c;那么&#xff…

CPLD架构

1. 通用CPLD构架 传统的CPLD内部构架布局如图1-1所示&#xff0c;可编程互连阵列&#xff08;PIA&#xff09;在芯片中心位置&#xff0c;而逻辑阵列块则在芯片四周靠近I/O模块。目前大多数的CPLD都是采用这种结构&#xff0c;包括Xilinx主流的CoolRunner系列和Altera MAX 300…

2024第十四届新华三杯预赛考试大纲

本文档取自新华三杯官方网站

类与对象

类&#xff1a; class默认私有&#xff0c;struct默认公有 面向对象的三大特性&#xff1a; 封装、继承、多态 封装&#xff1a;本质是一种管控&#xff1b;C数据和方法都放在类里面&#xff0c;使用访问限定符对成员限制 类的存储&#xff1a; 每个对象只存成员变量&#…

elf文件简单介绍

文章目录 elf 程序示意图ELF文件格式概述ELF的组成结构1. ELF头部&#xff08;ELF Header&#xff09;2. 程序头表&#xff08;Program Header Table&#xff09;与程序头项&#xff08;Program Header Entry&#xff09;3. 节区头表&#xff08;Section Header Table&#xff…

【python系列】开篇:自学python的方法

1.前言 唯有自学才是最高效最省钱的学习编程的方法。最高效是因为你可以按照自己的节奏来进行学习&#xff0c;随时随地随心的学习&#xff0c;最主要的是掌握学习方法&#xff0c;当然培训老师是不会告诉你方法的&#xff0c;总是跟着培训老师在盲人摸象。最省钱是不用投入资…

【论文复现】交通路口智能监测平台实现

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀交通路口智能监测平台实现 1.概述2.工程文件简介2.1 工程文件结构2.2 训练检测模型2.2.1 准备数据集2.2.2 训练自己的权重文件2.2.3 使用自己…

不宽的宽字符

根据提示&#xff0c;通过nc 202.38.93.141 14202来进行连接&#xff0c;可以用自己的机器进行连接&#xff0c;也可以直接点击“打开/下载题目”连接&#xff1a; 意料之中的无法打开flag&#xff0c;看来得下载附件看看源码了 #include <iostream> #include <fstrea…

无脑使用matlab运行YOLOv5模型,实现目标检测

文章目录 前言代码报错解决方法缺点总结 前言 YOLO 是一种经典的一阶段目标检测算法&#xff0c;它将检测问题转化为回归问题。与 Faster R-CNN 不同&#xff0c;YOLO 不是提取 RoI,而是直接通过回归的方法生成每个类的边界框坐标和概率。与 Faster R-CNN相比&#xff0c;大大…

java ssm 高校固定资产管理系统 高校物资管理 资产信息 源码 jsp

一、项目简介 本项目是一套基于SSM的高校固定资产管理系统&#xff0c;主要针对计算机相关专业的和需要项目实战练习的Java学习者。 包含&#xff1a;项目源码、数据库脚本、软件工具等。 项目都经过严格调试&#xff0c;确保可以运行&#xff01; 二、技术实现 ​后端技术&am…

《战国王朝》青铜材料具体作用介绍

《战国王朝》中的青铜材料是游戏里非常重要的金属材料&#xff0c;而青铜材料的具体作用就是青铜用于制作第三层次的工具和武器;它比铜制的更好&#xff0c;但不如铁和钢制的&#xff0c;相比石制和铜制工具&#xff0c;青铜物品的使用寿命更长。 战国王朝青铜材料有什么用 青…

unity3d————延时函数

1.public void InvokeRepeating(string methodName, float time, float repeatRate); 延迟重复执行函数 InvokeRepeating 参数一&#xff1a;函数名字符串 参数二&#xff1a;第一次执行的延迟时间 参数三&#xff1a;之后每次执行的间隔时间 注意&#xff1a; 1-1.延时函数第…

焊接手电钻板子后总结

复用旧工程部分方案注意事项&#xff1a; 粘贴暑假时候做的工程原理图&#xff0c;复制到现在的项目中竟然忘记修改3V3的名称&#xff0c;导致3V3MCU与3V3的区别&#xff0c;这个错误以后一定要注意&#xff1a; 现在工程中的供电3V3&#xff0c;不是3V3MCU: 焊接QFN芯片&…

大模型智能客服比传统智能客服“智”在哪里?

随着人工智能技术的飞速发展&#xff0c;智能客服已成为企业提升服务效率和客户满意度的关键工具。在智能客服的演进过程中&#xff0c;大模型智能客服以其卓越的性能和智能化水平&#xff0c;逐渐崭露头角&#xff0c;更是为客户服务带来了新的变革。那么&#xff0c;大模型客…

Google Play上架/更新被拒的原因及解决方案

Google Play商店是全球Android开发者发布应用的首选平台&#xff0c;但在这个平台上发布或更新应用时&#xff0c;开发者必须遵守严格的规定和政策。如果违反这些规定&#xff0c;应用可能会被拒绝上架或更新&#xff0c;甚至可能导致开发者账号被封禁。本文将总结Google Play上…