gulp构建工具整理

Carla-编译CarlaUE4提示HoloLens.Automation项目缺少Windows程序集? 编译CarlaUE4提示HoloLens.Automation项目缺少Windows程序集?不妨看看这个! 阅读详情

gulp 是基于node 的一个构建工具 , 所谓构建工具是指通过简单配置就可以帮我们实现合并、压缩、校验、预处理等一系列任务的软件工具。常见的构建工具包括:Grunt、Gulp、Webpack 以及百度的F.I.S

下面我们来说下gulp , gulp 提供插件的机制 ,不会产生臃肿 , 如果有需要再装上相应的插件就可以了。比如这个autoprefixer包,用于css自动添加前缀,其实,gulp不干什么事情,专门指挥它的插件干活。官方文档

安装

  • 全局安装
    • $ npm install -g gulp
  • 本地安装

    • $ npm install gulp –save-dev
    • 本地安装是为了把gulp作为项目的依赖
  • 创建gulpfile.js文件 ,定义一个任务,简单的示例:

    // 文件开头,把gulp模块引入进来 , 以后在文章中的示例就不重复获取了
    var gulp = require('gulp');
     gulp.task('default,function(){
         // 任务代码
     });
    

gulp 中常用到的插件和使用方式

  • 自动添加前缀 autoprefixer

    • 先安装 gulp-autoprefixer 包 :
      $ npm install gulp-autoprefixer –save-dev
    • 开始使用

      // 引入模块 autoprefixer 
      var autoprefixer = require('gulp-autoprefixer');
      // 创建一个名称为css的任务
      gulp.task('css',function(){
          /* 获取需要构建的资源 如果有多个src需要传数组的形式,下面会有示例*/
          gulp.src('./css/*.css')
                  /*通过管道的方式把资源以流的形式传递给autoprefixer来处理*/
                  .pipe(autoprefixer())
                  /* 再把处理结果通过管道传递给了gulp.dest() 方法,生成目标文件*/
                  .pipe(gulp.dest('./dist'));
      })
      
    • 然后在bash或命令窗口中执行
      $ gulp css

    • 这里总结下几个函数的意思
      gulp.task() 用于构建任务,去配置我们的具体任务
      
      gulp.src()用于获取需要构建资源的路径
      传递的参数必须是个路径,常见的配置项 {base:'./'} 
      
      gulp.dest() 放置构建好的资源路径,传递参数也是一个路径
      
      pipe() 是node中的管道,在这里是将上一步处理的结果传给下一步
      
  • 合并js插件 gulp-concat

    • 安装插件: $ npm install gulp-concat –save-dev
    • 使用插件:

      // 获取模块
      var concat = require('gulp-concat');
      // 创建任务
      gulp.task('js',function(){
      /*将当前js文件夹下的所有js文件获取到*/
      gulp.src('./js/*.js')
              /*合并成app.js*/
              .pipe(concat('app.js'))
              /*输出到dist文件夹下*/
              .pipe(gulp.dest('./dist'))
      })
    • 执行命令
      $ gulp js

  • 图片压缩插件 gulp-imagemin

    • 获取模块
      $ npm install gulp-imagemin –save-dev
    • 使用模块

      var imagemin = require('gulp-imagemin');
      gulp.task('image',function(){
      gulp.src('./image/*')
              .pipe(imagemin())
              .pipe(gulp.dest('./dist'));
      })
    • 执行任务
      $ gulp image

  • 压缩html插件 gulp-htmlmin

    • 安装模块
      $ npm install gulp-htmlmin
    • 使用模块

       var htmlmin = require('gulp-htmlmin');
       gulp.task('html',function(){
          gulp.src('./*.html',{
                           "removeComments":true,
                           "collapseWhitespace":true,
                           "minifyJS":true
                  })
              .pipe(htmlmin())
              .pipe(gulp.dest('./dist'));
       });
      
    • 执行任务
      $ gulp html

  • 把文件名修改成hash值模块 gulp-rev

    • 安装模块
      $ npm install gulp-rev –save-dev
    • 使用模块

      var rev = require('gulp-rev');
      gulp.task('rev',function(){
      /* 下面 ** 的方式叫做global语法,表示目录下面的所有 */
      gulp.src(['./dist/**/*.css','./dist/**/*.js','./dist/**/*'],{base:'./'})
              /* 转换成新的文件名 */
              .pipe(rev())
              .pipe(gulp.dest('./dist'))
              /*收集原文件名与新文件名的关系*/
              .pipe(rev.manifest())
              // 将文件以json的形式存在当前项目下的 ./rev 目录下
              .pipe(gulp.dest('./rev'));
      });
    • 执行任务
      $ gulp rev

  • 替换文件路径插件 gulp-rev-collector

    • 安装模块
      $ npm install gulp-rev-collector –save-dev
    • 使用模块

      var revCollector = require('gulp-rev-collector');
      /* 使用这个模块,需要依赖rev任务,所以需要注入rev任务,如果不注入需要先执行rev任务 */
      gulp.task('revCollector',['rev'],function(){
      // 根据生成的json文件,去替换html里的路径
      gulp.src(['./rev/*.json','./dist/*.html'])
             .pipe(revCollector())
             .pipe(gulp.dest('./dest'));
      })
    • 执行任务
      $ gulp revCollector

优化gulp 命令

从上面看到,我们每每去执行一条任务,就要运行一条命令,这样显然是不合理的,所以我们需要进行优化。优化的方式就是任务注入以及 return 的使用
下面是优化的代码:

var gulp = require('gulp');
var autoprefixer = require('gulp-autoprefixer');
var concat = require('gulp-concat');
var imagemin = require('gulp-imagemin');
var htmlmin = require('gulp-htmlmin');
var rev = require('gulp-rev');
var revCollector = require('gulp-rev-collector');
var uglify = require('gulp-uglify');

// 处理CSS
gulp.task('css', function () {
    return gulp.src('./css/*.css', {base: './'})
               .pipe(autoprefixer())
               .pipe(gulp.dest('./dist'));
});

// 此处就不做CSS压缩的演示了,原理相同。

// 压缩js
gulp.task('js', function() {
    return gulp.src('./js/*.js', {base: './'})
               .pipe(uglify())
               .pipe(gulp.dest('./dist'));
});

// 压缩图片
gulp.task('image', function () {
    return gulp.src('./images/*', {base: './'})
               .pipe(imagemin())
               .pipe(gulp.dest('./dist'));
});

// 压缩html
gulp.task('html', function () {
    return gulp.src('./*.html')
               .pipe(htmlmin({
                   removeComments: true,
                   collapseWhitespace: true,
                   minifyJS: true
               }))
               .pipe(gulp.dest('./dist'));
});

// 生成hash文件名
gulp.task('rev',['css', 'js', 'image', 'html'], function () {
    // 其中加!前缀的是表示过滤该文件
    return gulp.src(['./dist/**/*', '!**/*.html'], {base: './dist'})
               .pipe(rev())
               .pipe(gulp.dest('./dist'))
               .pipe(rev.manifest())
               .pipe(gulp.dest('./rev'));
});

// 替换文件路径
gulp.task('revCollector',['rev'], function () {
    // 根据生成的json文件,去替换html里的路径
    return gulp.src(['./rev/*.json', './dist/*.html'])
               .pipe(revCollector())
               .pipe(gulp.dest('./dist'));
});
// gulp中默认以default为任务名称
gulp.task('default', ['revCollector']);

执行任务 , 在命令行中,我们只需要执行 下面的命令
$ gulp
或者是
$ gulp default
就可以对 项目进行构建了。

上面只是简单的演示了一下, 还有很多问题存在,比如 合并js的时候,使用 gulp-concat 生成的新js里面,原来html里面并没有引用,还需要使用gulp-inject 来将生成的js注入到html,还有很多东西要学习。

常用插件

Gulp-uglify
Gulp-autoprefixer
Gulp-htmlmin
Gulp-less
Gulp-livereload
Gulp-minify-css
Gulp-imagemin
Gulp-concat
gulp-rev
gulp-rev-collector
gulp-clean
gulp-inject

gulp插件库:
http://gulpjs.com/plugins/

找到一些学习的网站:
http://cnodejs.org/topic/5551a6067664e06d7cd4718f
http://www.ydcss.com/archives/83
http://www.gowhich.com/blog/621

visio安装包 Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。 立即下载

相关推荐

将机器人urdf模型转换为Mujoco环境下的mjcf模型

在使用gym环境进行人形模型站立训练的过程中,我想要将之前ros环境下的机器人urdf模型导入到mujoco环境下,这时候就需要将urdf模型转换为mujoco专用的mjcf模型。-AzureLoong.urdf是机器人模型(我这里使用青龙的模型);--custom_robot.xml是转换完成之后的机器人模型的名字和格式;包要求 Python 版本必须是 3.11 或更高),保证自己的其他训练环境和依赖不被干扰。首先将meshes文件迁移到需要输出的目录下,然后再运行转换命令。最后就可以成功输出了。

weixin_44334573的博客 3761

Gulp的使用

gulp是一个,主要用来设定程序的工作。简单的说,gulp就是用来的,可以将指定的文件按照设定好的打包压缩规范,压缩之后存储到指定的文件夹位置。之前gulp程序有自己的运行环境,现在gulp程序可以在node.js中运行。

2301_76702774的博客 2493

从共现矩阵到共现图一步到位——详解版

1.共现矩阵 判断大量不同文本之间,相邻词的联系,两词在所有文本中相邻的次数在矩阵中用数值表示。(参考此) 例子如下: 1.1 文本 • I like deep learning. • I like NLP. • I enjoy flying. 1.2 共现矩阵 2.共现图 2.1 数据预处理(节点和边) 获取文件node.csv和edge.csv。代码详见github仓库 2.2 共现图的制作 2.2.1 gephi的安装(参考此) (1)先下载gephi (2) 再配置java环境(下载java1.8

微乐的博客 4403

Gulp

JS项目构建工具Gulp(gulp@4)

.bin的博客 4873

[WeChatMsg]导出csv格式微信聊天记录的手把手教程

手把手教大家如何导出自己的聊天记录得到csv文件,即使是电脑小白也可以轻松学会o(* ̄▽ ̄*)ブ

weixin_51094633的博客 1万+

光电转换器件PMT,APD总结

PMT和APD都属于单点探测器,只能探测光子信息,可以通过扫描方式测光谱。 1. PMT PMT:光电倍增管,是光子技术器件中的一个重要产品,它是一种具有极高灵敏度和超快时间响应的光探测器件。 原理:光电倍增管是一种真空器件。它由光电发射阴极(光阴极)和聚焦电极、电子倍增极及电子收集极(阳极)等组成。当光照射到光阴极时,光阴极向真空中激发出光电子。这些光电子按聚焦极电场进入倍增系统,并通过进一步的二次发射得到的倍增放大。然后把放大后的电子用阳极收集作为信号输出。 优点:因为采用了二次发射倍增系统,.

Ammon_Zhang的博客 1万+

构建工具

一、构建工具的作用 二、Java 主流构建工具 三、Maven 参考资料 一、构建工具的作用 构建一个项目通常包含了依赖管理、测试、编译、打包、发布等流程,构建工具可以自动化进行这些操作,从而为我们减少这些繁琐的工作。 其中构建工具提供的依赖管理能够可以自动处理依赖关系。例如一个项目需要用到依赖 A,A 又依赖于 B,那么构建工具就能帮我们导入 B,而不需要我们手动去寻找并导入。 在 Ja...

weixin_37097995的博客 1818

GEO芯片数据下载和探针ID转换(保姆级教程)

R语言安装、GEO芯片数据下载、探针ID转换

qq_43138237的博客 3万+

【gulp】什么是gulp?有什么用?怎么用?

1.gulp是什么? Gulp是基于node的一个自动化构建工具,开发者可以使用它构建自动化工作流程(前端集成开发环境)。例如:网页自动刷新,CSS预处理,代码检测,图片压缩等功能,只需要简单的命令行就可以全部完成。使用它,可以简化工作,让你把重点放在功能的开发上,同时减少人为失误,提高开发的效率和质量。 2.gulp的安装是基于node的,所以安装gulp之前需要查看此电脑安装nod...

疾术客 2万+

YOLOv11改进 | 主干/Backbone篇 | 利用RT-DETR主干网络PPHGNetV2助力yolov11有效涨点(轻量化目标检测网络)

本文给大家带来利用RT-DETR模型主干HGNet去替换YOLOv11的主干,RT-DETR是今年由百度推出的第一款实时的ViT模型,其在实时检测的领域上号称是打败了YOLO系列,其利用两个主干一个是HGNet一个是ResNet,其中HGNet就是我们今天来讲解的网络结构模型,这个网络结构目前还没有推出论文,所以其理论知识在网络上也是非常的少,我也是根据网络结构图进行了分析(精度mAP提高0.05)。YOLOv11改进系列专栏——本专栏持续复习各种顶会内容——科研必备​目录一、本文介绍。

Snu77的博客 3721

【WSN定位】基于AOA算法实现目标无源定位附matlab代码

1 简介 2 部分代码 clear all; close all; clc;​stations = [0 0 0;20 0 0]; %基站位置​X = -100:100; %生成目标位置Y = X.*sin(X);Z = X+Y;N = length(X);Locations = zeros(N,3);angs = zeros(N,4);for i = 1:N angs(i,:) = Angs(stations*1e3,[X(i),Y(i),Z(i)]*1e3);end​for

qq_59747472的博客 2308

gulp打包(含第三方模块下载教学)

目录 一、创建项目文件夹 二、项目文件夹初始化 三、 依赖包的下载 3.1 事前准备 3.2全局依赖包的下载 3.2.1 下载gulp全局依赖包 3.2.2 下载全局 node-sass依赖包 3.3 开发依赖包的下载 3.3.1 下载gulp开发依赖包 3.3.2 css文件打包压缩依赖包 3.3.3JavaScript文件 打包压缩需要的依赖包 3 3.3.4html文件打包压缩需要的依赖包 3.3.5sass文件 打包压缩需要的依赖包 ...

qq_45799465的博客 5244

基于Spring Boot + Vue 3的前后端分离教材订购系统设计与实现

随着高校信息化建设的不断深入,传统手工管理教材的方式已无法满足高效、准确、透明的需求。文章将详细阐述系统的需求分析、架构设计、数据库设计、核心功能模块的实现(包括用户认证、教材管理、购物车、订单管理等),并提供关键代码片段。一个集中化、在线化的教材订购系统可以有效地解决这些问题,实现教材信息的统一管理、学生在线选书、订单自动汇总、财务清晰对账,极大地提升了管理效率和服务质量。系统采用了先进的前后端分离架构,实现了用户管理、教材管理、购物车、订单管理等核心功能,具有良好的可扩展性和可维护性。

2201_76125393的博客 330

Gulp-构建工具 相关内容整理

Gulp- 简介 Automate and enhance your workflow | 用自动化构建工具增强你的工作流程 Gulp 是什么? gulp是前端开发过程中一种基于流的代码构建工具,是自动化项目的构建利器;它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成; 使用它,不仅可以很愉快的编写代码,而且大大提高我们的工作效率。 gulp是基于...

a15539383557的博客 235

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

整理gulp自动化构建工具(包含PostCss)

教程地址:http://segmentfault.com/a/1190000000372547 http://www.w2bc.com/Article/12941 1、安装nodejs 2、新建package.json文件 3、全局和本地安装gulp 4、使用npm安装gulp插件(如:gulp-jshint、gulp-sass、gulp-mini-css、gulp-ug...

abcde3326的博客 161

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

前端构建工具gulp安装(整理补充)

第1步:安装Node首先,最基本也最重要的是,我们需要搭建node环境。访问 nodejs.org,然后点击大大的绿色的 install 按钮,下载完成后直接运行程序,就一切准备就绪。npm会随着安装包一起安装,稍后会用到它。为了确保Node已经正确安装,我们执行几个简单的命令。node -v npm -v如果这两行命令没有得到返回,可能node就没有安装正确,进行重装。第2步:安装gulp首先我们

leo8729的专栏 3459

深度学习工具包 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")

gulpfile 编译运行_整理笔记:前端工程构建工具gulp篇

gulp ,基于 NodeJS 的项目,自动化构建的工具增强你的工作流程!一、工作原理前端构建工具,gulp是基于Nodejs,自动化地完成 javascript、coffee、sass、less、html/image、css 等文件的测试、检查、合并、压缩、格式化、浏览器自动刷新、部署文件生成,并监听文件在改动后重复指定的这些步骤。借鉴了Unix操作系统的管道(pipe)思想,前一级的输出,直接...

weixin_32058931的博客 553

工程化工具——gulp的使用方法以及插件

一、gulp是什么? gulp是前端开发过程中一种基于流的代码构建工具,是自动化项目的构建利器;它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成;使用它,不仅可以很愉快的编写代码,而且大大提高我们的工作效率。   gulp是基于Nodejs的自动任务运行器, 它能自动化地完成前端代码的测试、检查、合并、压缩、格式化、浏览器自动刷新、部署文件生成,并监听文件在改动后重复指定的这些步骤。 二、gulp的使用 //1、整理.html文件 ...

IT侠客行的博客 1万+

怎么在项目中使用前端包管理器bower和构建工具gulp

下面以WeUI(微信官方网页开发样式库)介绍一下,怎么把WeUi引入到自己的项目中,我的开发环境Visual Studio 2012,当然了Visual Studio 2015对此已有了更好的支持(https://msdn.microsoft.com/magazine/mt573714),什么开发环境不重要,都一样的。 1、bower、gulp都是基于nodejs,前提是你必须已经安装好node...

weixin_34227447的博客 149

gulp的安装使用与实例

gulp安装与使用 简介 gulp是一个基于Node.js的前端自动化构建工具,主要用来设定程序自动处理静态资源的工作。简单的说,gulp就是用来打包项目的。 官网:https://gulpjs.com/ 中文官网:https://www.gulpjs.com.cn/docs/ 安装 安装前先在控制台输入 node -v 确认已经安装Node.js Node.js版本可能会和guip版本不兼容,此时最好的办法就是用nvm nvm官方网址 全局安装: 目前gulp的最新版本是4.1.0,3.9.1是目前比

qq_41915936的博客 459

gulp前端自动化构建并上传oss

前言 前端自动化构建工具从最开始的grunt, gulp, fis等到现在比较流行的webpack可谓层出不穷,个人还是比较倾向于gulp,虽然有的时候会因为某个插件的配置问题头疼很久,但不可否认gulp真的很灵活,而且个人觉得它和node结合起来比较舒服,再有对项目目录结构的要求比较低,即使再老再乱的项目也可以通过它进行整理和自动化构建。这里用本公司的一个老项目举例子。 项目目录 因为是老...

weixin_30752699的博客 229

现代JavaScript开发者的工具箱

自从HTML5变得流行以来,整个Web平台取得了长足的进步,人们也开始将JavaScript视为一门能够创建复杂应用的语言。许多新的API纷纷浮现,而关于浏览器如何应用这些技术的文章也大量涌现。 这一系列文章的视角更进一步,它们将关注于如何在实践中应用这些强大的技术,这并不是指创建多么酷炫的示例和原型,而是在第一线进行实际应用。在这个(后)HTML5系列文章中,我们不需要响亮的口号,而是基于

飞鸟Blog 900

JavaScript

现代JavaScript开发者的工具箱   自从HTML5变得流行以来,整个Web平台取得了长足的进步,人们也开始将JavaScript视为一门能够创建复杂应用的语言。许多新的API纷纷浮现,而关于浏览器如何应用这些技术的文章也大量涌现。   作为一门脚本语言,JavaScript最初创建的目的是用于增强web页面的表现能力,而现如今JavaScript几乎已经用在所有...

aili1947的博客 163

【开源推荐】JavaScript开发工具大合集

本文为大家整理了一系列关于JavaScript的常用工具,包括常用工具、前端和后端工具,从测试到构建,内容丰富,值得收藏。 本文为大家整理了一系列关于JavaScript的常用工具,包括常用工具、前端和后端工具,从测试到构建,内容丰富,值得收藏。下面是根据推荐工具整理的思维导图。   点击看大图 常规工具 脚手架工具 Yeoman:它旨在为开发者提供一系列健壮的工具

a1961613299的专栏 1447

给咕unt靴! 使用npm作为构建工具的指南

前端构建和工作流程工具,丰富可供选择: 步兵 , 咕嘟咕嘟 , 西兰花 ,和杰克的名字,但一些。 这些工具可以自动完成几乎所有的东西你会发现自己在一个项目反复做,从涅槃和连接的源文件,运行测试或编译代码。 但问题是,你需要它们? 你真的想介绍一个额外的依赖到你的项目? 答案是不!”。 还有就是可以做大多数的这些任务,你一个自由选择它带有捆绑Node.js的 。 当然,我说的是故宫 。 在这篇文...

362

大前端工具集

大前端工具集 本篇文章记录了一枚程序猿的百宝箱。 主要内容是一些使用过的库、工具、套路或关注的前端组织等等,反正用 前端瑞士军刀 来总结这篇文章再合适不过鸟。 您可以通过以下方式联系到我: 微博 @聂微东 个人 Blog fefork.com 博客园 犀利的东哥 QQ 群 214199415,群名前端 Club。PS:入群务必请提供 有内容的 git 或 blog 地址,...

weixin_30768175的博客 411
上一篇: Sass的知识点梳理
下一篇: Browsersync的简单使用
Wang's Blog
博客等级 码龄12年 7434粉丝 2421原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值