Docker构建学习环境(3)-部署Spark并提交WordCount任务

docker下,极速搭建spark集群(含hdfs集群) spark:2.3。 阅读详情
Spark概述

Apache Spark是一个开源集群运算框架,最初是由加州大学柏克莱分校AMPLab所开发。相对于Hadoop的MapReduce会在运行完工作后将中介数据存放到磁盘中,Spark使用了存储器内运算技术,能在数据尚未写入硬盘时即在存储器内分析运算。Spark在存储器内运行程序的运算速度能做到比Hadoop MapReduce的运算速度快上100倍,即便是运行程序于硬盘时,Spark也能快上10倍速度。[1]Spark允许用户将数据加载至集群存储器,并多次对其进行查询,非常适合用于机器学习算法。摘自维基百科。总结一下就是,hadoop的mapreduce是将中间结果存在磁盘上,而spark是将中间结果存在主存中,所以速度比Hadoop的mapreduce快。

准备工作
环境选择
  • 宿主机系统:win10
  • hadoop版本:3.1.1(构建基于HDFS的spark)
  • Spark版本:2.4.5
  • 容器系统:ubuntu16
  • jdk:1.8
准备
  • 下载jdk1.8下载地址放入E:/docker/spark目录下
  • 下载Hadoop下载地址放入E:/docker/spark目录下,这一步不是必须的,只是因为我部署hdfs的时候选择了版本3.1.1不想重新部署,所以下载Spark时选择了Pre-build with user-provided Apache Haddop,啥意思呢?就是自定义版本的Hadoop,如果选择的Spark版本是Pre-build for Apache Haddop 2.6/2.7,那就不需要单独下载Hadoop,因为下载的Spark已经预编译了。
  • 下载spark下载地址放入E:/docker/spark目录下,选择好自己的版本,如果已经安装了Hadoop2.6/2.7建议直接下载预编译了Hadoop的版本,不需要后续配置环境参数。
  • 关于Hadoop集群的部署可以参考Docker部署Hadoop集群
编写Dockerfile文件
FROM ubuntu:16.04
MAINTAINER houwanfei

# 安装openssh-server
RUN  apt-get update && apt-get install -y openssh-server

# 配置ssh免密登陆
RUN ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' && \
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 复制jdk和配置jdk环境
RUN mkdir /usr/lib/jvm/
ADD openjdk-8u40-b25-linux-x64-10_feb_2015.tar.gz /usr/lib/jvm/
ENV JAVA_HOME /usr/lib/jvm/java-se-8u40-ri/ 
ENV PATH $PATH:$JAVA_HOME/bin

# 复制hadoop和配置hadoop配置
RUN mkdir /usr/local/hadoop/
ADD hadoop-3.1.1.tar.gz /usr/local/hadoop/
ENV HADOOP_HOME /usr/local/hadoop/hadoop-3.1.1
ENV PATH $PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

# 复制spark和配置spark环境
RUN mkdir /usr/local/spark
ADD spark-2.4.5-bin-without-hadoop.tgz /usr/local/spark
ENV SPARK_HOME=/usr/local/spark/spark-2.4.5-bin-without-hadoop
ENV PATH=$PATH:$SPARK_HOME/bin
ENV SPARK_MASTER_PORT 7077
ENV SPARK_MASTER_WEBUI_PORT 8080
ENV SPARK_MASTER_LOG /tmp/logs
ENV SPARK_WORKER_LOG /tmp/logs
ENV SPARK_VERSION 2.4.5

# 复制配置文件
COPY config/* /tmp/
RUN mv /tmp/spark-config.sh  $SPARK_HOME/sbin && \
	mv /tmp/spark-env.sh $SPARK_HOME/conf
# 暴露端口
EXPOSE 8080 7077 6066

CMD [ "sh", "-c", "service ssh start; bash"]
配置配置文件
# 将两个文件放入E:/docker/spark/config目录下
# spark-env.sh
export SPARK_DIST_CLASSPATH=$(${HADOOP_HOME}/bin/hadoop classpath)


# spark-config.sh 这里复制出来一个文件然后在最后加上这一句
export JAVA_HOME=/usr/lib/jvm/java-se-8u40-ri/
构建镜像
# cd切换目录到E:/docker/spark目录
docker build -t hou/spark .
启动
运行镜像

镜像已经构建完成下面开始启动镜像并启动spark

# 因为要利用hdfs,所以我将它和hadoop放入同一个网段
docker run -dit --name spark-master --net hadoop --hostname spark-master hou/spark

# 进入容器
docker exec -it spark-master /bin/bash

# 进入spark解压目录/usr/local/spark 进入sbin目录运行start-all.sh启动
./start-all.sh
验证
# 浏览器输入,将ip换成自己对应的ip,spark的web ui端口默认是8080
http://172.19.0.5:8080/
执行第一计算任务
创建一个java的maven空项目

在这里插入图片描述

填写groupid等信息

在这里插入图片描述

配置spark开发jar依赖

需要下载的jar相关依赖很多,可能要等很久看个人网速

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.12</artifactId>
    <version>2.4.5</version>
</dependency>
编写计算任务代码

这里我是写的一个词频统计的

package com.hou.test;

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import scala.Tuple2;


import java.util.Arrays;

/**
 * @Description
 * @auther houwf
 * @create 2020-04-29 10:50
 */
public class WordCountJob {
    public static void main(String[] args) {
        SparkConf conf = new SparkConf().setMaster("local").setAppName("WordCountApp");
        JavaSparkContext sc = new JavaSparkContext(conf);
        JavaRDD<String> input = sc.textFile("hdfs://172.19.0.2:9000/user/root/learn/madame_bovary");
        System.out.println("inputs line:" + input.count());
        JavaRDD<String> words = input.flatMap(s -> Arrays.asList(s.split(" ")).iterator());
        JavaPairRDD<String, Integer> wordAndOne = words.mapToPair(word -> new Tuple2<>(word, 1));
        JavaPairRDD<String, Integer> result = wordAndOne.reduceByKey((a, b) -> a+b);
        JavaPairRDD<Integer, String> swap = result.mapToPair(Tuple2::swap);
        JavaPairRDD<Integer, String> sorted = swap.sortByKey(false);
        JavaPairRDD<String, Integer> sortResult = sorted.mapToPair(Tuple2::swap);
        System.out.println("words:" + sortResult.count());
        sortResult.saveAsTextFile("hdfs://172.19.0.2:9000/user/root/learn/madame_bovary_word_count");
        sc.stop();
    }
}
编译打包
mvn clean package
复制到spark容器
docker cp study.word.count-1.0-SNAPSHOT.jar spark-master:/tmp
提交任务到spark执行

如果没有明显报错信息,就说明执行成功。

# spark/bin目录下
 ./spark-submit --class com.hou.test.WordCountJob --master local /tmp/study.word.count-1.0-SNAPSHOT.jar 
查看运行结果

在hdfs上查看运行结果,如果看到madame_bovary_word_count目录,点进去如果有结果说明词频统计以完成并将结果写入了HDFS。
在这里插入图片描述

docker下,极速搭建spark集群(含hdfs集群),面试真题解析 [root@hedy ~]# docker exec -it master spark-shell --executor-memory 512M --total-executor-cores 2 2019-02-09 17:13:44 WARN NativeCodeLoader:62 - Unable to load native-hadoop library for your platform… using builtin-java classes where applicable Setting de 阅读详情

相关推荐

使用Docker搭建Hadoop集群和Spark集群

# 行命令退出安全模式 docker exec -it namenode hadoop dfsadmin -safemode leave # create the input directory on HDFS hadoop fs -mkdir -p input # create directory and files insdie namenode mkdir input echo "Hello World" >input/f1.txt echo "Hello Docker" >input

anron的专栏 1588

Docker环境部署Hadoop并使用docker构建spark运行案列(全网最详细教程)

本文主要是Docker部署hadoop 和使用docker构建spark运行环境,里面有详细的安装配置教程和操作说明,环境没问题的话,按照操作基本都能部署完成和运行,后面也有一些案列可以帮助更好的操作和理解hadoop和spark运行原理。

专注 AI、大数据、Python、爬虫、数据分析可视化、机器学习、推荐算法、知识图谱、大模型应用与全栈系统开发,长期沉淀真实项目案例、源码解析、系统设计、部署经验与工程化实践,分享可运行、可复用、可落地的技术方案。 9915

Win11 下利用 Docker 一键搭建 Spark 与 Hadoop 集成环境

本文详细介绍了在Win11系统下使用Docker一键搭建Spark与Hadoop集成环境的完整流程。通过Docker容器化技术,开发者可以快速部署大数据开发环境,避免传统安装方式的依赖冲突和配置难题。文章涵盖从基础环境准备、PySpark交互环境搭建到完整集群构建的实战步骤,并提供了性能调优和常见问题解决方案,帮助用户高效实现大数据开发环境的容器化部署。

weixin_28691741的博客 177

spark Docker镜像构建及push脚本

cd $SPARK_HOME ./bin/docker-image-tool.sh -r 192.168.105.999:1603/lego/spark -t 3.1.1_2021071401 build ./bin/docker-image-tool.sh -r 192.168.105.999:1603/lego/spark -t 3.1.1_2021071401 push

学亮编程手记 995

Spark环境搭建深度指南:从JVM依赖到PySpark配置

Apache Spark并非即装即用的单机库,而是一个强依赖JVM版本、Scala二进制兼容性、SLF4J日志绑定机制及多层环境变量语义的分布式计算引擎。其运行原理根植于Java类加载顺序、进程模型差异(如pyspark与spark-submit的JVM隔离机制)和Hadoop生态契约。技术价值在于规避因Java小版本Bug、GC参数失配或PYTHONPATH污染导致的隐性故障;典型应用场景涵盖本地伪分布式开发、Docker容器化交付及YARN/K8s生产预检。本文聚焦Spark 3.5环境构建中Java

weixin_30642869的博客 373

Spark环境搭建避坑指南:JDK/Scala/Hadoop版本精准匹配

Apache Spark并非即装即用的单机工具,而是一个深度耦合JVM生态的分布式计算引擎。其稳定运行依赖于JDK版本兼容性、Scala运行时一致性、Hadoop二进制ABI匹配及本地资源精准配置等底层原理。技术价值在于规避NoClassDefFoundError、线程创建失败、文件系统不支持等高频故障,保障ETL调试、SQL开发与实时流任务的可复现性。典型应用场景包括金融风控离线分析、电商推荐特征工程及IoT时序数据本地验证。本文聚焦Spark环境搭建这一基础但极易出错的关键环节,深入解析JDK版本匹配与

weixin_30256901的博客 389

CVE-2022-33891 Apache spark shell 命令注入漏洞复现

Spark 是用于大规模数据处理的统一分析引擎。它提供了 Scala、Java、Python 和 R 中的高级 API,以及支持用于数据分析的通用计算图的优化引擎。它还支持一组丰富的高级工具,包括用于 SQL 和 DataFrames 的 Spark SQL、用于 Pandas 工作负载的 Spark 上的 Pandas API、用于机器学习的 MLlib、用于图形处理的 GraphX 和用于流处理的结构化流。.........

蚁景网安学院 1676

Spark on Docker:容器化大数据开发环境搭建指南

随着大数据处理需求的爆发式增长,Apache Spark已成为分布式计算领域的事实标准。环境配置复杂性:Spark依赖Java、Scala运行时及Hadoop生态组件,版本兼容性问题频发环境一致性难题:开发、测试、生产环境的配置差异导致"在我机器上能跑"的经典问题资源隔离不足:多用户共享集群时易出现资源抢占和性能抖动分钟级环境初始化,无需手动配置依赖开发/测试环境完全镜像化,一键迁移资源细粒度隔离,支持多版本共存Docker基础架构与核心概念。

AI天才研究院 1597

基于 Docker 快速部署多需求 Spark 自动化测试环境

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33835690的博客 338

C#安装OpenCv及打开笔记本默认摄像头方法

C#安装OpenCv及打开笔记本默认摄像头方法

cg1135217680的博客 2572

华为2021年天线工程师笔试题目回忆总结(持续更新)

1. 判定长线和短线 所谓长线是指传输线的几何长度和线上传输电磁波的波长的比值(即电长度)大于或接近于1。反之称为短线。是相对于波长而言的。 1000m的传输线,对于频率为50hz(即波长为6000km)的交流电来说,仍远小于波长,应视为短线。长线和短线的区别还在于:长线为分布参数电路,而短线是集总参数电路。 2. 判定传输线的容性和感性 传输线上的输入阻抗具有以下特点: 1/4波长变换性:感性负载与容性负载变换,开路与短路变换; 1/2波长重复性:相距1/2波长的整数倍的两个点输入阻抗都相等。1/4开路传

ludashi3的博客 9531

Kubernetes与大数据之二:编译并运行基于Scalar的Spark程序WordCount

一、前言 通过SBT编译scala程序然后在Kubernetes使用Spark运行WordCount任务。 转载自https://blog.youkuaiyun.com/cloudvtech   二、安装环境和编译 2.1 安装SBT curl https://bintray.com/sbt/rpm/rpm &gt; bintray-sbt-rpm.repo mv bintray-sbt-rp...

cloudvtech的博客 1090

EMC测试案例分析——晶振对辐射发射的影响

本文分析了某产品350MHz辐射发射超标问题,发现源头是50MHz晶振的7次谐波通过连接器泄漏。主要原因是:1)防水非导电垫圈形成屏蔽缝隙;2)晶振下方地平面不完整且信号线穿过;3)晶振离接口过近。改进措施包括:完善晶振下方地平面、增大晶振与接口距离、使用导电密封圈等。最终辐射降低10dB以上达标。文章总结了晶振EMC设计要点:保持地平面完整、远离接口、外壳接地、合理布局滤波电路等,并强调防水与屏蔽的协调统一。

u012526819的博客 669

单机部署Hadoop+Spark+Flink:本地大数据环境搭建与核心功能验证

大数据处理的核心在于对海量、多样、高速数据进行高效分析与价值挖掘,其技术基石通常包括分布式存储与计算框架。通过容器化技术,我们可以在单机环境下模拟完整的分布式处理流程,这为学习、开发和原型验证提供了极大便利。本文聚焦于利用Docker Compose一键部署集成Hadoop、Spark和Flink的轻量化环境,详细阐述了从环境准备、服务启动到核心功能测试的完整路径。实践环节覆盖了HDFS文件操作、Spark批处理任务提交以及Flink流处理管道的验证,并探讨了通过REST API进行任务管理的方法。这种本地

weixin_33912246的博客 373

C#粘包和分包问题及解决方法

一:通过图解法来描述一下分包和粘包,这样客户更清晰直观的了解:  下面对上面的图进行解释:  1.正常情况:如果Socket Client 发送的数据包,在Socket Server端也是一个一个完整接收的,那个就不会出现粘包和分包情况,数据正常读取。  2.粘包情况:Socket Client发送的数据包,在客户端发送和服务器接收的情况下都有可能发送,因为客户端发送的数据都是发送的一个缓冲...

weixin_42033401的博客 7767

方差迭代计算公式

方差迭代计算过程推导术语约定递推公式过程推导 术语约定 (1)En=1n∑i=1nxi E_n =\frac{1}{n} \sum_{i=1}^{n}x_i \tag{1} En​=n1​i=1∑n​xi​(1) (2)F(n)=∑i=1n(x2−En) F(n) = \sum_{i=1}^{n}{(x^2-E_n)} \tag{2} F(n)=i=1∑n​(x2−En​)(2) (3)V(n)...

weixin_44479136的博客 7921

Spark星火发射平台:一站式本地化大数据开发测试环境部署与实战

大数据处理的核心在于高效、可扩展的数据计算框架,Apache Spark作为其中的主流选择,通过内存计算和DAG调度引擎显著提升了批处理与流式任务的性能。其技术价值在于将复杂的数据处理逻辑抽象为简单的API,并支持SQL查询、机器学习和图计算等多种范式,极大地降低了分布式计算的开发门槛。在实际应用中,Spark广泛用于ETL、实时分析、数据湖查询等场景,但环境搭建、集群配置和资源管理往往是开发者面临的首要挑战。为了解决这些痛点,本地化的一站式部署平台应运而生,它们通过预集成环境、提供Web UI和REST

weixin_34221773的博客 364

PromptBio实战:如何用AI对话搞定转录组数据分析(附详细操作截图)

本文详细介绍了如何利用PromptBio平台通过AI对话完成转录组数据分析,无需编程基础即可实现从数据上传到结果解读的全流程。文章包含详细的操作截图和参数配置建议,帮助科研人员快速掌握这一生信分析工具,显著提升研究效率。

weixin_30872157的博客 136

Spark 入门程序 : WordCount

1. Docker 快速部署pyspark 只需安装Docker即可 1.1 下载镜像 docker pull jupyter/pyspark-notebook 1.2 启动镜像 docker run --name pyspark --rm -p 8888:8888 jupyter/pyspark-notebook 或者挂载windows的一个目录亦可 docker run --name pyspark --rm -v E:\COURSE\spark:/home/joyan -p 8888:8888 j

m0_48275578的博客 1687

Opencv项目实战:09 物体尺寸测量

《Opencv项目实战:09 物体尺寸测量》本项目主要是运用了之前扫描文档的思想,以A4纸为背景,检测其中区域的物体长和宽。我的摄像头无法固定,所以是手持的,且由于我在寝室里面是真的没有找到合适的测量物体以及背景色(全是米色或原木色的)。所以效果有所欠缺,但经过ps修改的图片,检测的效果还是很不错的。

m0_62919535的博客 1万+

手把手教你学Simulink--基于Simulink的高速公路自动驾驶场景仿真建模

特点车道保持:自动调整车辆方向以保持在车道中央。自适应巡航控制(ACC):根据前方车辆的速度自动调节车速。换道辅助:安全地变换车道以超过慢速行驶的车辆或准备驶离高速公路。紧急制动:检测潜在碰撞并采取措施避免事故。挑战安全性:确保所有功能在各种条件下都能可靠运行。实时性:处理大量传感器数据,并迅速做出反应。复杂性:集成多个子系统,包括感知、规划与控制。首先明确要模拟的任务内容。车辆需保持在车道内行驶。根据交通情况自动调整速度。安全地执行换道操作。在必要时实施紧急制动。

MHD0815的博客 247

docker下,极速搭建spark集群(含hdfs集群),java并发编程实战pdf

您可能会有疑问:txt文件在宿主机上,hdfs是docker容器,怎么能上传上去呢?您看过docker-compose.yml就会发现,宿主机的input_files目录已经挂载到namenode容器上了,所以上面的命令其实就是将容器内的文件上传到hdfs上去; 4. 用浏览器查看hdfs,如下图,可见txt文件已经上传到hdfs上: spark_shell实战WordCount 在CentOS电脑的命令行输入以下命令,即可创建一个spark_shell: docker exec -it master

m0_64383449的博客 210

深度学习工具包 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&#39;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(&#39;DeepLearnToolbox&#39;));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(&#39;state&#39;,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&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,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 = &#39;sigm&#39;;%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, &#39;Too big error&#39;);```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(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;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)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;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, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% 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&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 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, &#39;Too big error&#39;);```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(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % 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, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % 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, &#39;Too big error&#39;);%% 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(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % 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, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

java list wordcount,初试spark java WordCount

初始环境:OS X10.10.5准备:boot2docker进入boot2docker后安装docker-spark 地址:https://github.com/sequenceiq/docker-spark里面有很详细的介绍我启动这个镜像的命令是docker run -it -p 8088:8088 -p 8080:8080 -p 9000:9000 -p 50070:50070 -p...

weixin_42515739的博客 124

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Spark on YARN 部署模式与资源参数配置实战指南

在大数据处理领域,资源调度是分布式计算框架的核心机制之一。Apache Spark 作为主流计算引擎,通常需要与 YARN(Yet Another Resource Negotiator)等资源管理器协同工作,以实现集群资源的统一分配与管理。其原理在于,Spark 通过 `spark-submit` 提交作业时,会将计算任务分解为 Driver 和 Executor 角色,并由 YARN 将其映射为 Container 进行资源隔离与调度。这一机制的技术价值在于能够高效利用集群资源,支持多租户、多任务并发执

weixin_30279671的博客 452

在Docker中运行Hadoop+Spark集群

在Docker中运行Hadoop+Spark集群本镜像基于kiwenlau/hadoop:1.0构建,hadoop配置请参考https://github.com/kiwenlau/hadoop-cluster-docker3节点集群1、拉取Docker镜像docker pull miaolegemitong/spark:1.02、克隆git仓库git clone git@github.com:mia

miaolegemitong的博客 938
上一篇: Docker构建学习环境(2)-搭建Hadoop集群
下一篇: Docker构建学习环境(4)-Azkaban Solo模式调度Spark
VioletCherry
博客等级 码龄14年 21粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值