Storm源码阅读(一):使用

llama.cpp量化模型在MTT显卡上的性能对比:S80/S3000/S4000实测数据 本文基于摩尔线程MTT S80、S3000和S4000三款显卡,对llama.cpp量化模型进行了深度性能实测。报告详细对比了不同量化精度(如Q4_K_M、Q6_K)在Llama 3.2 1B和Qwen 2.5 7B模型上的推理速度、显存占用、功耗及温度表现,为开发者根据硬件选择最优模型配置与参数调优提供了关键数据参考和实战指南。 阅读详情

Storm项目主页http://storm-project.net/,github主页https://github.com/nathanmarz/storm

 

storm源码是clojure和java的混合体

 

安装JRE

Clojure 运行在 JRE (JAVA Runtime Environment) 之上,因此,你需要先安装 JRE。

 

安装lein

Clojure项目管理工具:Leiningen,类似于maven。leiningen使用maven仓库进行包管理

http://leiningen-win-installer.djpowell.net/

 

lein基本操作

$ lein new [TEMPLATE] NAME # generate a new projectskeleton

$ lein test [TESTS] # run the tests in the TESTSnamespaces, or all tests

$ lein repl # launch an interactive REPL session

$ lein run -m my.namespace # run the -main function of anamespace

$ lein uberjar # package the project and dependencies asstandalone jar

$ lein deps       //下载依赖到storm/lib

$ lein compile   //编译生成storm.jar

$ lein install   //安装到本地.m2库

$ lein version   //查看version版本

$ lein uberjar   //生成一个适合提交给storm集群的jar包

$ lein pom       //生成pom.xml

 

类似pom文件,工程根目录下的 project.clj 内容类似

(defproject myproject"0.5.0-SNAPSHOT"
  :description"A project for doing things."
  :license"Eclipse Public License 1.0"
  :url"http://github.com/technomancy/myproject"
  :dependencies [[org.clojure/clojure"1.5.1"]]
  :plugins [[lein-ring"0.4.5"]])

 

Lein pom命令:根据project.clj生成pom.xml,导入eclipse。

 

 

安装

zeromq

$ wgethttp://download.zeromq.org/zeromq-2.1.7.tar.gz

$ tar -xzf zeromq-2.1.7.tar.gz

$ cdzeromq-2.1.7

$ ./configure

$ make

$ sudo make install

 

jzmq

$git clone https://github.com/nathanmarz/jzmq.git

$cd jzmq

$./autogen.sh

$./configure

$make

$sudo make install

 

Zookeeper配置

#zoo.cfg

server.1=192.168.119.24:5888:6888

server.2=192.168.119.25:5888:6888

server.3=192.168.119.26:5888:6888

 

storm配置

#storm.yaml

storm.zookeeper.servers:

    - "192.168.119.24"

    - "192.168.119.25"

    - "192.168.119.26"

 storm.zookeeper.port: 5181

 nimbus.host: "192.168.119.24"

 

启动storm

storm nimbus #24

storm ui #24

storm supervisor #24, 25, 26

 

http://192.168.119.24:8080

 

生产环境使用supervisord保证出错退出时重启

 

storm-starter

storm-starters提供了storm的使用例子。如果不研究storm的实现,只是使用,可以直接按照storm-starter的例子编写代码。


$ git clone git@github.com:nathanmarz/storm-starter.git

$ cdstorm-starter

$ lein deps

$ lein compile

$ lein uberjar

 

$./storm jar storm-starter-0.0.1-SNAPSHOT-standalone.jarstorm.starter.ExclamationTopology exclamation-topology

 

Exception in thread "main"java.lang.RuntimeException: org.apache.thrift7.transport.TTransportException:java.net.ConnectException: Connection refused

       at backtype.storm.utils.NimbusClient.<init>(NimbusClient.java:36)

       atbacktype.storm.utils.NimbusClient.getConfiguredClient(NimbusClient.java:17)

       at backtype.storm.StormSubmitter.submitTopology(StormSubmitter.java:69)

       at backtype.storm.StormSubmitter.submitTopology(StormSubmitter.java:40)

       at storm.starter.ExclamationTopology.main(ExclamationTopology.java:60)

Caused by:org.apache.thrift7.transport.TTransportException: java.net.ConnectException:Connection refused

       at org.apache.thrift7.transport.TSocket.open(TSocket.java:183)

       at org.apache.thrift7.transport.TFramedTransport.open(TFramedTransport.java:81)

       at backtype.storm.utils.NimbusClient.<init>(NimbusClient.java:34)

       ... 4 more

Caused by: java.net.ConnectException:Connection refused

       at java.net.PlainSocketImpl.socketConnect(Native Method)

       at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)

       at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)

       at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)

       at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)

       at java.net.Socket.connect(Socket.java:529)

       at org.apache.thrift7.transport.TSocket.open(TSocket.java:178)

       ... 6 more

 

需要在客户端机器上配置 ~/.storm/storm.yaml

[root@localhost bin]# mkdir ~/.storm

[root@localhost bin]# cp../conf/storm.yaml  ~/.storm/storm.yaml

 

0   [main] INFO backtype.storm.StormSubmitter  -Jar not uploaded to master yet. Submitting jar...

16   [main]INFO  backtype.storm.StormSubmitter  - Uploading topology jarstorm-starter-0.0.1-SNAPSHOT-jar-with-dependencies.jar to assigned location:storm-local/nimbus/inbox/stormjar-178ac806-5246-4d28-8adc-9032eaf300eb.jar

536 [main] INFO  backtype.storm.StormSubmitter  - Successfully uploaded topology jar toassigned location:storm-local/nimbus/inbox/stormjar-178ac806-5246-4d28-8adc-9032eaf300eb.jar

536 [main] INFO backtype.storm.StormSubmitter  -Submitting topology exclamation-topology in distributed mode with conf{"topology.workers":3,"topology.debug":true}

982 [main] INFO backtype.storm.StormSubmitter  -Finished submitting topology: exclamation-topology

 

 

Topology界面

 

 

成功!!!


Storm-release(部署目录)主要结构

.

|-- bin

|  |-- storm

|  |-- storm-local

|  |   |-- nimbus

|  |   |   |-- inbox

|  |   |   `-- stormdist

|  |   |       `-- exclamation-topology-1-1376451279

|  |   |           |-- stormcode.ser

|  |   |           |-- stormconf.ser

|  |   |           `-- stormjar.jar

|  |   |-- supervisor

|  |   |   |-- isupervisor

|  |   |   |  |-- 1376449252196

|  |   |   |  |-- 1376449252196.version

|  |   |   |-- localstate

|  |   |   |  |-- 1376458241022

|  |   |   |  |-- 1376458241022.version

|  |   |   |-- stormdist

|  |   |   |  `-- exclamation-topology-1-1376451279

|  |   |   |      |-- resources

|  |   |   |      |   |-- splitsentence.py

|  |   |   |      |   |-- splitsentence.rb

|  |   |   |      |   |-- storm.py

|  |   |   |      |   `-- storm.rb

|  |   |   |      |-- stormcode.ser

|  |   |   |      |-- stormconf.ser

|  |   |   |      `-- stormjar.jar

|  |   |   `-- tmp

|  |   `-- workers

|   |      `--eb0ad8a8-bf76-41e0-bfa2-84bcb2ab42b9

|  |           |-- heartbeats

|  |           |   |-- 1376458241416

|  |           |   |-- 1376458241416.version

|  |           `-- pids

|  |               `-- 10633

|-- conf

|   `--storm.yaml

|-- lib

|  `-- zookeeper-3.3.3.jar

|-- log4j

|  `-- storm.log.properties

|-- logs

|  |-- nimbus.log

|  |-- supervisor.log

|  |-- ui.log

|  `-- worker-6703.log

|-- public

|  |-- css

|  |   |-- bootstrap-1.1.0.css

|  `-- js

|      |-- jquery-1.6.2.min.js

`-- storm-0.8.2.jar

 

因为没有设置”storm.local.dir”,所以默认使用bin/storm-local目录。


Windows 下 Hermes Agent(爱马仕)安装全记录:从零到一的保姆级图文教程 本文主要介绍了Windows 下 Hermes Agent(爱马仕) 安装全记录:从零到一的保姆级图文教程,希望能对学习使用 Hermes Agent 的同学们有所帮助。 文章目录 1. 背景 2. 实战教程 2.1 步骤一 安装WSL环境 2.2 步骤二 安装Python环境 2.3 步骤三 安装Hermes Agent 2.4 步骤四 修正 API Key 错误 2.5 步骤五 配置多个模型 2.6 步骤六 启动Hermes Agent 3. 常见问题及解决方案 4. 总结 阅读详情

相关推荐

Utrust4701F与Utrust2700R读写器在银河麒麟系统的安装及测试步骤说明

Utrust4701F与Utrust2700R读写器支持银河麒麟系统,广泛应用会员管理、支付管理等领域。本文将重点介绍Utrust4701F与Utrust2700R读写器在银河麒麟系统的安装及测试步骤说明。以上方法适用于主流国产操作系统,如 优麒麟(UbuntuKylin)/ 中标麒麟(NeoKylin) / UOS(统信操作系统)/ 中兴新支点 / 红旗 linux(redflag linux)/ 普华 Linux(I-soft OS) / 威科乐恩 Linux(WiOS)等

华翔天诚科技 1834

服务器安装linux系统教程

一、linux镜像的刻录 1.首先打开电脑上面任意浏览器(IE、Microsoft Edge、chrome、Firefox),输入网址 https://www.centos.org/我们可以看到如下界面选择立即获取centos下载最新的安装镜像,复制下载链接(http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64...

冷夜间飘过的风 16万+

Android Settings 设置Preference置灰显示

使Preference置灰显示,不能点击。先调用Preference的setEnabled(false),再调用setShouldDisableView(true); 如果使置灰项恢复正常可点击,可调用setEnabled(true)。

随风而动 1049

Linux,常用命令,看这篇就够了

linux 常用命令大全

qq_48721706的博客 4万+

一文读懂世界模型(World Model):AI的“数字大脑”,通往AGI的核心基石

世界模型正成为AI领域的关键技术,它让AI在虚拟环境中模拟物理世界规律并预测行动后果,从而减少现实试错成本。2018年Ha和Schmidhuber提出的VAE+RNN架构奠定基础,2022年后自监督学习推动快速发展。当前世界模型分为潜空间、生成式、强化学习和对象中心四大流派,已在机器人、自动驾驶、工业仿真等领域落地应用。尽管面临长时序预测误差等挑战,未来将向多模态建模、大模型融合等方向发展,成为实现具身智能和通用人工智能的核心基石。

m0_38116472的博客 810

factory机制-重载(一)

这里写自定义目录标题1.SystemVerilog对重载的支持2.对约束的重载3.factory 机制式的重载4.重载的方式和种类5.factory机制的调试 1.SystemVerilog对重载的支持 SystemVerilog是一种面向对象的语言。面向对象语言都有一大特征:重载。当在父类中定义一个函数/任务时,如果将其设置为virtual类型,那么就可以在子类中重载这个函数或任务。 重载的最大优势是使得一个子类的指针以父类的类型传递时,其表现的行为依然是子类的行为。 2.对约束的重载 在测试一个DUT时

sinat_41774721的博客 2961

Linux操作系统简介

文章目录 Linux发行版简介 学习Linux的必备硬件知识 关键硬件器件——CPU 关键硬件器件——存储 关键硬件器件——内存 其他一些查看硬件信息的命令 Linux开机过程(以Ubuntu16.04为例) 阶段1:BIOS 阶段2:boot Loader 阶段3:kernel 阶段4:systemd 阶段5:应用软件 Linux常用命令 基本命令 文件管理 文本操作 磁盘管理 系统管理 网络通信 压缩解压 查询硬件信息的命令 多命令协作 git操作命令 Refere

m0_67401382的博客 2万+

Muse Spark:功能、性能测试及使用方法

对于一个仅用九个月时间从零开始重建的团队来说,这样的健康状况和多模态测试结果无疑是迈出了坚实的第一步,并且经受住了独立测试的考验。Muse Spark 为每个产品确定了最重要的主题(A 产品的发布策略、B 产品的定价策略、C 产品的规模化策略),并提出了切实可行的具体行动方案。抽象视觉推理也遵循同样的模式:Muse Spark 的 ARC-AGI-2 得分为 42.5,而 GPT-5.4 和 Gemini 的得分都在 70 分左右。他的离职是由于组织结构的变化限制了他的角色,以及团队转向闭源开发。

xiaoshun007的专栏 124

【Linux】Linux基础入门

操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计 算机程序,是配置在计算机硬件上的第一层软件,任何其它软件都必须在操作系统的支持下才能运行。

享你所想 8280

【推荐100个unity插件】帮助你快速开发一款FPS游戏—— FPS Framework

FPS Framework 快速入门指南 FPS Framework 是一个 Unity 开发框架,可加速 FPS 游戏开发。主要功能包括: 第一人称控制器:基于 Character Controller 实现,提供移动、跳跃、下蹲等功能,支持自定义参数调整 渲染管线转换:内置 RP 转换器,支持 URP/HDRP 等渲染管线一键切换 库存系统: 采用双列表管理:物品列表(Items)和可收集物列表(Collectables) 支持自定义库存物品和可收集物类型 提供拾取/丢弃功能实现 快速开始: 通过预制件

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2571

Token 费用爆炸?教你用 Semantic Cache(语义缓存)把 API 成本降低 80%

本文介绍了语义缓存(Semantic Cache)技术在大模型应用中的关键作用。传统Redis缓存基于精确匹配,无法处理用户提问的语义相似性,导致重复调用昂贵的LLM API。语义缓存通过将问题向量化并在向量空间中进行相似度匹配,可识别30%-50%的重复提问,直接返回历史答案。文章详细解析了技术原理(Embedding+向量搜索)、架构设计,并提供了基于Python和ChromaDB的50行核心实现代码。同时指出了生产环境中的三大挑战:阈值设定、隐私保护和多轮对话处理,并给出相应解决方案。该技术能以极低成

BUG猿的博客 1056

Linux常用操作命令及示例大全

Linux学习笔记 1. Linux基础篇 1.1 Linux介绍 Linux怎么读:最通用的读法:/li’nʌks/(“里那克斯”)或/'li:nэks/(“里讷克斯”)或/li’nju:ks/(“里纽克斯”)。 Linux是一款操作系统,其特点是免费、开源、安全、高效、稳定,处理高并发非常强悍。现在很多的企业级项目都部署Linux/Unix服务器运行。 Linux的发行版本主要有:Red Hat Linux、Debian Linux、Ubuntu Linux、Suse Linux等。 L

weixin_53801131的博客 5905

卷积神经网络中的自注意力机制(Self-Attention Mechanism)

卷积神经网络中的机制表现为操作,其实现过程与Seq2Seq模型的自注意力机制类似。标准的卷积层是一种局部滤波操作,其输出特征上的任意位置是由对应输入特征的一个邻域构造的,只能捕捉局部特征之间的关系。而自注意力机制通过计算任意两个位置之间的关系直接捕捉远程依赖,而不用局限于相邻点,相当于构造了一个的卷积核,从而可以捕捉更多信息。在卷积网络的自注意力机制中,首先构造输入特征x的键特征fx, 查询特征gx和值特征hx;

AI天才研究院 1501

Storm源码阅读(二):客户端

Clojure Clojure指南http://java.ociweb.com/mark/clojure/article.html   Eclipse插件Counterclockwise Eclipse提供了专门的Clojure 语言开发插件CounterClockwise,在源代码编辑,代码调试,REPL 支持方面也有独到之处,适合于习惯于Eclipse的开发者使用。 http://c

m_vptr的专栏 5027

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Apache Storm源码阅读笔记

转载自:http://www.cnblogs.com/hseagle/p/3756862.html  楔子 自从建了Spark交流的QQ群之后,热情加入的同学不少,大家不仅对Spark很热衷对于Storm也是充满好奇。大家都提到一个问题就是有关storm内部实现机理的资料比较少,理解起来非常费劲。 尽管自己也陆续对storm的源码走读发表了一些博文,当时写的时候比较匆忙,有时

myrainblues的专栏 1475

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Storm源码阅读之SpoutOutputCollector

不得不说storm是一个特别棒的实时计算框架。为了对后文理解的方便,先说几个storm中的术语: Topology:拓扑图或者拓扑结构。在storm中它通过消息分组的分式连接Spout和Bolt节点定义了运算处理的拓扑结构。如下图: 那什么是Spout呢? 在计算任务需要的数据其实就是由Spout提供的,所以它可以说是Storm中的消息源,一般是从外部数据源(日志文件、数据库、...

davidpan1987的博客 286

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

storm代码阅读(一)

2021SC@SDUSC storm代码阅读(一) 2021SC@SDUSC Strom介绍 Apache Storm是一个分布式实时大数据处理系统。Storm设计用于在容错和水平可扩展方法中处理大量数据。它是一个流数据框架,具有最高的摄取率。虽然Storm是无状态的,它通过Apache ZooKeeper管理分布式环境和集群状态。它很简单,您可以并行地对实时数据执行各种操作。 Apache Storm继续成为实时数据分析的领导者。Storm易于设置和操作,并且它保证每个消息将通过拓扑至少处理一次。 准备

m0_46312761的博客 229

storm源码分析

文章目录Storm源码分析 (一) 综述一、storm介绍二、storm组件ZookeeperSpoutBoltStream Groupings三、任务分配 2021SC@SDUSC Storm源码分析 (一) 综述 2021SC@SDUSC 一、storm介绍 Storm是一个开源的,分布的,可靠的,容错的数据流处理系统。Storm有很多使用场景:如实时分析,在线机器学习,持续计算,分布式RPC,ETL等等。Storm支持水平扩展,具有高容错性,保证每个消息都会得到处理,而且处理速度很快(在一个小集群中,

null_wry的博客 829

专访许鹏:谈C程序员修养及大型项目源码阅读与学习

转自http://blog.csdn.net/jim_cainiaoxiaolang/article/details/62435641?locationNum=2&fps=1 摘要:阅读源码是开源项目最好的学习方式,然而真正的执行起来却并不容易。这里我们为大家分享许鹏的源码阅读经验、C程序员的修养以及Spark和Storm源码走读博文。对许鹏的第一印象来源于其Bolg的粗读,最早时候更准确说应该是

github_33736971的博客 1666

storm源码阅读笔记之任务调度算法

3种Scheduler概述 EventScheduler:将系统中的可用资源均匀地分配给需要资源的topology,其实也不是绝对均匀,后续会详细说明 DefaultScheduler:和EvenetScheduler差不多,只不过会先将其它topology不需要的资源重新收集起来,再进行EventScheduler IsolationScheduler:用户可定义这个topo...

222

如何在Windows下搭建storm

如何在Windows下搭建storm 2017年08月29日 09:18:22 茶韵流香 阅读数:1681 标签: 大数据 windows storm 更多 个人分类: 大数据 如何在Windows下搭建storm 在过去,在windows下跑storm是一个极大的挑战。通常,这种方式会涉及到Storm的源码编程方式,storm的生态依赖以及如何让windows伪装成UNIX/POSI...

小兵qwer的专栏 465

[Storm]分布式单词计数(一)一个简单的storm demo

(一) Spout 1.1 业务 SentenceSpout(个人理解注释) import backtype.storm.spout.SpoutOutputCollector; import backtype.storm.task.TopologyContext; import backtype.storm.topology.OutputFieldsDeclarer; import backtype.storm.topology.base.BaseRichSpout; import backtype

新一的技术笔记 451
上一篇: ZooKeeper源码阅读(三):服务器端
下一篇: Storm源码阅读(二):客户端
m_vptr
博客等级 码龄15年 69粉丝 50原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值