org module之org-feed

本文介绍了一个有趣的Emacs模块,能够将RSS订阅的内容自动保存到指定的Org文件标题下。通过设置org-feed-alist,用户可以定制RSS源的更新、存储位置及标题,并利用额外的参数对feed条目进行个性化处理。

原文地址:https://raw.githubusercontent.com/lujun9972/lujun9972.github.com/source/Emacs之怒/org module之org-feed.org

该module能让你将RSS feed中的内容保存到Org文件指定的标题下,还是蛮好玩的。

  1. 设置 org-feed-alist

    从名字上就能看出,这是一个alist,每个entry的格式为 (feed名称 URL 存储的Org文件路径 存储的标题),比如

    (push '("科学松鼠会" "https://songshuhui.net/feed" "~/我的GTD/Note.org" "Feeds/科学松鼠会") org-feed-alist)
    
  2. 执行 M-x org-feed-update-all

此外, org-feed-alist 还支持在每个entry后面加上多个 keyword-value 对 的参数,用来对feed中的每篇文章进行自定义的处理,详情可以参见它的doc-string说明:

:drawer drawer-name
存储feed信息的drawer名称,默认为FEEDSTATUS
:filter filter-function
过滤item的函数,若通过则返回该entry,否则返回nil
:template template-string
组建Org entry的模板
:formatter formatter-function
格式化feed item成Org entry的函数
:new-handler function
处理新增feed item的函数
:changed-handler function
处理更新 feed item 的函数
:parse-feed function
解析feed的函数
:parse-entry function
解析feed item的函数

默认情况下,每个feed item都会被解析为一个plist,其中feed item中的域名都对应一个property,此外为了方便处理,还有两个特殊的property:

:item-full-text
<item> 标签内的全文本
guid-permalink
当guid 属性为 permalink 是设置为 t

理论上跟org-eww连用,我们完全可以把feed中的内容摘录到Org文件中保存起来,像这样:

(defun org-eww-save-by-url (url &optional timeout)
  (let ((url (replace-regexp-in-string "\\[\\|\\]" "" url))
        (timeout (or timeout 5)))
        (message "URL is %s" url)
        (save-excursion 
          (eww url)
          (sit-for timeout)
          (eww-readable)
          (org-eww-copy-for-org-mode)
          (pop kill-ring))))


(setq org-feed-alist '(("科学松鼠会" "https://songshuhui.net/feed" "~/我的GTD/Note.org" "科学松鼠会"
                        :template "* %h
%t
from %a
%(org-eww-save-by-url \"%a\")")))
### 前馈神经网络概述 前馈神经网络(Feed-Forward Neural Network, FNN),也被称为多层感知机(Multilayer Perceptron, MLP),是一种最基础的人工神经网络形式。其特点是数据流通过网络传播时不会形成循环,即信号总是从前一层传递到下一层而无反馈路径。 #### 结构组成 FNN 的基本单元是神经元,多个神经元按层次排列构成网络。典型的 FNN 至少包含三层:输入层、隐藏层以及输出层。每一层中的神经元只与相邻层相连,而不与其他层内的其他神经元存在连接关系。具体而言: 1. **输入层**接收外部特征向量作为初始输入; 2. **隐藏层**负责提取并转换复杂模式,层数可以是一个或多于一个; 3. **输出层**则依据任务需求给出最终预测结果或分类标签。 各层间的信息传输遵循加权求和再激活的原则,在每一步计算过程中应用特定函数来决定节点状态变化程度。常用的激活函数有 Sigmoid 函数、ReLU (Rectified Linear Unit) 及其变体等[^1]。 #### 实现方式 构建这样一个模型可以通过定义各个组成部分及其相互作用机制完成编码工作。下面展示了一个简单的 Python 版本实现例子利用 PyTorch 库来进行搭建: ```python import torch.nn as nn class SimpleFFNN(nn.Module): def __init__(self, input_size, hidden_sizes, output_size): super(SimpleFFNN, self).__init__() layers = [] prev_size = input_size for size in hidden_sizes: layers.append(nn.Linear(prev_size, size)) layers.append(nn.ReLU()) prev_size = size layers.append(nn.Linear(prev_size, output_size)) self.network = nn.Sequential(*layers) def forward(self, x): return self.network(x) ``` 上述代码片段展示了如何创建具有任意数量隐含层的标准 FFN 架构,并采用了 ReLU 作为默认激活功能。值得注意的是,这里并未涉及任何反向传播算法的具体细节——这部分通常由框架自动处理。 关于更复杂的场景比如自然语言处理领域,则可能涉及到 Transformer 类型结构的设计思路如 EncoderLayer 和 DecoderLayer 组件划分等问题[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值