前端常用插件记录

非常强大的时间日期插件 --- JeDate.js 非常强大的时间日期插件,整合到自己的html或者vue,react中,炫酷。 阅读详情

目录

FormData

jeDate时间插件

tinyMCE富文本插件

bootstrap paginator分页插件

bootstrap模态框

 jquery懒加载插件

jquery瀑布流插件

  vue2-editor富文本编辑器

 ElementUI 照片墙组件 


FormData

FormData官网:https://developer.mozilla.org/zh-CN/docs/Web/API/FormData

FormData主要用于收集表单的数据,通过原生js获取表单元素,作为ajax的参数进行传输,自带文本类型,不能自己序列化参数,本身可以传递文件数据file。

FormData基本使用

let formdata = new FormData(elm);//获取的是原生表单元素

  FormData追加参数:

formdata.append(key,value);//追加参数

  以FormData作为参数传递给ajax时,需要ajax做一些简单的配置:

contentType:false,//不设置ajax文本类型
processData:false,//需要ajax序列化参数data

 例如:

 

jeDate时间插件

jeDate V6.5.0 是一款原生JS开发的 不依赖任何第三方库 大众化的日期控件

jeDate官网:http://www.jemui.com/uidoc/jedate.html

  jeDate的引入:

      引入css和js

jedate/css/jedate.css
jedate/js/jedate.js

  jeDate基本使用: 

       html代码:

<input type="text" name="date" id="date" value="" class="form-control">

       js代码:

jeDate('#date',{
   trigger:"click", 
   isinitVal:true,
   format:"YYYY-MM-DD",
   theme:{bgcolor:"#00A680",pnColor:"#00DDAA"}
})

  效果:

  

 

 

tinyMCE富文本插件

tinyMCE中文手册:http://tinymce.ax-z.cn/configure/integration-and-setup.php

使用需引入js文件:tinymce/tinymce.min.js

基本使用

   html代码:

<textarea cols="60" rows="8" id="textarea"></textarea>

    js代码:

tinymce.init({
        selector: '#textarea',
        width:'80%',
        language: 'zh_CN',
        branding:false,//清除插件品牌
        // 工具栏
        toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | code",
        plugins: [//工具栏中插件
            "advlist autolink lists link image charmap print preview anchor",
            "searchreplace visualblocks code fullscreen",
            "insertdatetime media table contextmenu paste imagetools wordcount",
            "code"
        ]
    });

     获取tinyMCE编辑器中的内容:

tinymce.activeEditor.getContent();

    回显内容:

   需要把内容回显给编辑器,则只需要给到相应的文本域

$('#textarea').val(res.data.content);//赋值给文本域,则会把内容回显到编辑器中

  效果:

  

  

 

bootstrap paginator分页插件

  bootstrap paginator网站:https://v3.bootcss.com/components/#pagination

  引入文件:

  /bootstrap/css/bootstrap.min.css

  /bootstrap/js/bootstrap.min.js

  /bootstrap-paginator.min.js

  基本使用:

  html代码:

<!-- 因为我们的bootstrap是3.3.7,所以对应的分页结构是ul -->
<ul class="pagination"></ul>

  js代码:

/**
     * bootstrap 分页插件
     * @param pageCurrent 当前所在页:pageNum
     * @param pageSum 总页数
     * @param callback 调用ajax
     */
    function setPage(pageSum) {
        $(".pagination").bootstrapPaginator({
            //设置版本号
            bootstrapMajorVersion: 3,
            // 当前所在页,最明显的特点是添加一个单独的样式
            currentPage: pageNum,
            // 总页数
            totalPages: pageSum,
            //当单击操作按钮(页码)的时候, 执行该函数, 调用ajax渲染页面
            onPageClicked: function (event, originalEvent, type, page) {
                // 把当前点击的页码赋值给currentPage, 调用ajax,渲染页面
                // page就是你当前单击的页码的值,这个page就是接下ajax请求中所需要传递的pageNum
                console.log(page);
                pageNum = page;
                articlePage();//列表加载方法
            }
        })
    }

  例如:

// 文章分页列表
    articlePage();
    function articlePage(){
        $.ajax({
            type:'get',
            url:bigNews.article_query+'?'+$('#frm').serialize() + '&page='+pageNum,
            dataType:'json',
            success:function(res){
                if(res.code == 200){
                    $('tbody').html(template('contentTpl',res.data));
                    if(res.data.totalPage > 1){
                        // 渲染分页结构  totalPage:直接返回了总页数
                        setPage(res.data.totalPage);
                    }else{
                        // 如果一页都没有,就默认一页
                        setPage(1);
                    }
                }
            }
        });
    }

  效果:

 

 

 

bootstrap模态框

传送门:https://v3.bootcss.com/javascript/#modals

引入文件:

<!-- 使用bootstrap需要导入三个文件 -->
<script src="./bootstrap/js/jquery-1.12.4.min.js"></script>
<script src="./bootstrap/js/bootstrap.min.js"></script>
<link href="./bootstrap/css/bootstrap.min.css" rel="stylesheet">

 

基本使用:

  html代码:

<!-- 模态框 -->
    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
                            aria-hidden="true">&times;</span></button>
                    <h4 class="modal-title" id="exampleModalLabel">新增分类</h4>
                </div>
                <div class="modal-body">
                    <form id="form">
                        <div class="form-group">
                            <label for="recipient-name" class="control-label">分类名称:</label>
                            <input type="text" class="form-control" id="recipient-name" name="name">
                        </div>
                        <div class="form-group">
                            <label for="message-text" class="control-label">分类别名:</label>
                            <input class="form-control" id="message-text" name="slug">
                        </div>
                    </form>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default cancel">取消</button>
                    <button type="button" class="btn btn-primary confirm">确认</button>
                </div>
            </div>
        </div>
    </div>

    <a href="javascript:void(0);" class="btn btn-success btn-xs" id="xinzengfenlei"data-toggle="modal" data-target="#myModal">新增分类</a>
    <a href="javascript:void(0);" data-toggle="modal" data-target="#myModal" class="btn btn-info btn-xs">编辑</a>

 js代码:

<script>
        //1.模态框出现之前
        $('#myModal').on('show.bs.modal', function (e) {
            //获取模态框事件触发源
            var target = e.relatedTarget;
            console.log(e.relatedTarget);
            if (target == $('#xinzengfenlei')[0]) {
                    //执行新增分类逻辑
                    alert('你点击了新增按钮');
                    //(1)设置按钮文本为新增
                    $('#myModal .confirm').text('新增');
                } else {
                    //执行编辑分类逻辑
                    alert('你点击了编辑按钮');
                    //(1)设置按钮文本为编辑
                    $('#myModal .confirm').text('编辑');
                }
        });


        //2.取消按钮点击事件
        $('#myModal .cancel').on('click', function (e) {
                // do something...
            //隐藏模态框
            $('#myModal').modal('hide')
        });

        //3.确认按钮点击事件
        $('#myModal .confirm').on('click', function (e, a) {
                // do something...
                if ($(this).text() == '新增') {
                    alert('新增成功');
                    //刷新页面
                    window.location.reload();
                } else {//编辑
                    alert('编辑成功');
                    //刷新页面
                    window.location.reload();
                }
            });

    </script>

 

 jquery懒加载插件

图片延迟加载

传送门:http://www.jq22.com/jquery-info11629

引入文件:

<script src="js/jquery.min.js"></script>
<script src="./js/EasyLazyload.js"></script>

基本使用:

 将需懒加载的图片src 替换为 data-lazy-src

<img data-lazy-src="..." />

例如:

 调用全局方法lazyLoadInit():

<script>
        //调用全局方法
        lazyLoadInit();
        lazyLoadInit({
            coverColor:"white",//覆盖的颜色
            coverDiv:"<h1>test</h1>",//覆盖字体
            offsetBottom:0,
            offsetTopm:0,
            showTime:1100,
            onLoadBackEnd:function(i,e){
                console.log("onLoadBackEnd:"+i);
            }
            ,onLoadBackStart:function(i,e){
                console.log("onLoadBackStart:"+i);
            }
        });
</script>

 

jquery瀑布流插件

传送门:http://www.jq22.com/jquery-info5644

引入文件:

<link rel="stylesheet" type="text/css" href="css/default.css">
<script src="js/jquery-1.11.0.min.js"></script>
<script src="js/pinterest_grid.js"></script>

基本使用:

<script type="text/javascript">
		$(function(){
			$("#gallery-wrapper").pinterest_grid({
				no_columns: 5,
                padding_x: 20,
                padding_y: 20,
                margin_bottom: 50,
                single_column_breakpoint: 700
			});
			
		});
</script>

 

  vue2-editor富文本编辑器

  该编辑器是一个编辑器基于vue的封装,在vue里能比较简便的进行使用,但如果需要自定义功能,很大程度上还是依赖原编辑器的使用文档

  传送门:https://www.vue2editor.com/

 安装

 npm install vue2-editor  -S

引入与注册组件(该编辑器在vue中以组件注册的方式引入) 

import { VueEditor } from "vue2-editor";
export default {
    components: {
        VueEditor
    },
    .......其他代码

 渲染使用,用v-model双向绑定编辑器内容

<vue-editor 
  v-model="content"
></vue-editor>

 配置图片上传处理

点击编辑器工具栏的图片图标,选择图片上传后,图片会自动插入到富文本当中

代码:

 定义上传的函数,手动上传图片

<!-- :useCustomImageHandler="true" 使用自定义图片处理器 -->
<!-- @image-added="imgUpload" 声明图片选择完毕后的处理函数-->
:useCustomImageHandler="true"
@image-added="imgUpload"

 在组件上的代码呈现:

<vue-editor 
	v-model="content"
	:useCustomImageHandler="true"
	@image-added="imgUpload"
></vue-editor>

  这时需要编写图片处理函数imgUpload

 通过formdata传参到后台

  注意:该富文本本身可以通过将图片转为base64放到编辑器内容中,但base64字符串过大,数据库不便存储,故经常使用自定义方式

     imgUpload(file, Editor, cursorLocation, resetUploader){
               // 这里是富文本框选择完图片会触发的函数
               // 带有四个参数 file, Editor, cursorLocation, resetUploader
               // file 选中的图片
               // Editor 是当前编辑器实例对象
               // cursorLocation 当前光标所在位置
               // resetUploader 这是上传完图片用来重新初始化上传功能的函数
               let formdata = new FormData();
               formdata.append('file',file);
               this.$axios({
                    url:'/upload',
                    method:'post',
                    data:formdata
               }).then(res => {
                    // Editor.insertEmbed() 这是编辑器自带函数, 可以往编辑框内放入内容
                    // 三个参数 位置 / 类型 / 内容
                    Editor.insertEmbed(cursorLocation, 'image', this.$axios.defaults.baseURL + res.data.data.url);
                    // 将图片插入到富文本框之后还要重置上传功能
                    resetUploader();
               })
          }

  回显富文本数据到编辑器,直接将从后台获取到的富文本数据传给编辑器v-model绑定的值。

 

 自定义工具栏配置

工具栏例子 https://www.kancloud.cn/liuwave/quill/1409378

各种格式的列表 https://www.kancloud.cn/liuwave/quill/1409367

使用自定义工具栏

<vue-editor 
	v-model="form.content"
	:useCustomImageHandler="true"
	@image-added="imgUpload"
	:editorToolbar="customToolbar"
></vue-editor>

 例如:

[
	["bold", "italic", "underline"],
	[{ list: "ordered" }, { list: "bullet" }],
	["image", "code-block"]
]

 效果:

 

 ElementUI 照片墙组件 

element图片上传将ajax一同封装,所以不需要手动处理ajax进行传输;在组件上字节带上headers用以设置请求头的内容

               <!-- list-type 类型固定式照片墙 -->
               <!-- action 是上传接口地址 -->
               <el-upload
                    :action="$axios.defaults.baseURL + '/upload'"
                    :headers="{
                         Authorization: 'Bearer ' + token
                    }"
                    :on-success="coverSuccess"
                    :on-remove="coverRemove"
                    :file-list="form.cover"
                    list-type="picture-card">
                    <i class="el-icon-plus"></i>
               </el-upload>

 action中是上传图片的后台接口

 on-success :每次添加一个图片触发的函数

on-remove :每次删除一个图片触发的函数

  这里每添加一个都放到this.form.cover数组中,删除时直接把照片墙的fileList传给cover数组

          coverSuccess(res, file){
               // 上传组件成功上传可以接受三个参数
               // res 请求结果
               // file 文件本身
               // fileList 文件列表
               // 1. 需要将 file 文件放入 this.form.cover 数组里面
               // 2. 我们的封面需要 id 这个 id 是从服务器传回来的
               file.id = res.data.id;
               console.log(file);
               this.form.cover.push(file);
          },
          coverRemove(file,fileList){
               this.form.cover = fileList;
          }

 回显图片时,直接将图片数组回显给file-list绑定的值

 

 

JeDate日历插件,年,年月,区间等自定义格式日历 jeDate日历整理合集,各种格式可选择,兼容火狐,谷歌,sarfari,ie10以上。你还在为不同需求的日历控件而担忧嘛,此合集包含所有需求需要的日历,不管是输入框的自定义等还是平板展示日历应有尽有,真是居家旅行,必备良药!!! 立即下载

相关推荐

jeDate-YYYYMM形式.rar

jeDate-YYYYMM形式,引入压缩包中的css和js,执行前端代码,点击日期框,出现YYYYMM形式的日期选择样式。

jedate日期插件使用

jedate的官网地址jedate :http://www.jemui.com/uidoc/jedate.html以下用的jQuery的.还有vue的方法: /*绑定节点*/ var startData = $("#startData"), endData = $("#endData"); var start = { format: 'YYYY-M...

lijie627239856的博客 2875

jeDate6.5.0时间控件

jeDate6.5.0是一款原生JS开发的不依赖任何第三方库大众化的日期控件,她身兼多职,虽不是万能的,但是她却是功能强大多样的美少女,她除了包含 单双面板、区域选择、 多语言、日历固定、有效无效日期、日期时间戳转换、日期加减、限制时分秒、初始化日期加减N、日期标注点、设定年月(YYYY-MM)、日期范围限制、开始日期设定、自定义日期格式、当天的前后若干天返回、时分秒选择、智能响应、自动纠错、节日识别,操作等常规功能外,根据不同的日期格式,显示不同内容,还拥有更多趋近完美的解决方案。更多的是需要你与她的亲密接触与呵护!

时间控件-Jedate

项目中时间用的Jedate,很强大的一款原生JS控件,给大家共同分享。 官网:Jedate官网 使用 下载Jedate,解压后放到代码的js文件下,然后引入js和css即可。 页面样式展示 jsp页面 &lt;!doctype html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" ...

Brooks Lv 1345

C#---第十一课:对列表的各种操作,添加、删除、排序、列表长度、获取元素的索引、FirstOrDefault()、SingleOrDefault()、last()

1.添加元素 2.删除元素 (1)删除列表中指定的元素 (2)删除列表A中所有与列表B相交的元素---常规 (3)删除列表A中所有与列表B相交的元素---lambda 3.排序(正序、倒序) 4.获取列表的最大容量(长度)、已用容量 6.获取元素在列表中的位置(index) 7.判断某元素是否在列表List中 8.获取列表中第一个元素First() & FirstOrDefault() 9.获取列表中唯一元素Single() & SingleOrDefault() 10.获取列表中最后一个元素

Alien-Hu 3627

树莓派学习系列7——GPIO基础

前言 原来学单片机的时候,就是通过一系列的引脚来控制单片机。终于学到了通过引脚来控制树莓派了。话不多说咱们先来了解基础。

我在等那么一天的博客 1万+

记录前端常用的插件

1,弹窗:bootstrap3-dialog.js 多选下拉框:bootstrap-multiselect.js 2,复制插件:zeroclipboard.js jquery.zclip.js 前面2个已过时 clipboard.js 不需要falsh 3,相册预预功能:layer.photos lightbox.js 4,文件上传插件:webuploa...

ayfxo22204的专栏 153

西门子S7-1200/1500 PLC编程与应用技巧

西门子S7-1200 PLC是一款紧凑型的控制器,适用于小型到中型的自动化控制任务。紧凑设计:集成了I/O模块,减少了控制柜的空间需求。高性能:高达25µs的扫描时间,能够快速响应。模块化扩展:支持扩展输入输出模块、通信模块和智能模块,满足不同的应用需求。多种编程语言:支持Ladder图(梯形图)、功能块图(FBD)、结构化文本(ST)等多种编程语言。西门子S7-1200与S7-1500 PLC是强大且灵活的工业控制系统,适用于各种自动化应用。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 2675

VS Code前端常用插件记录

VS Code前端常用插件记录 原文地址:https://www.cnblogs.com/sanday/p/10162713.html

mooZhang的博客 232

Yolov26 在 Rk3588 上的 Rknn Onnx 部署实践(c++)

本文介绍了YOLOv26在RK3588平台的C++推理部署方案。重点包括:1)扩展Ultralytics导出格式,新增RKNN_ONNX专用导出选项;2)重构Detect Head结构,使其更适合RKNN推理;3)提供C++侧后处理实现建议。该方案保留了Ultralytics训练生态,通过优化模型结构输出,将解码等操作移至C++端,充分发挥Rockchip NPU性能。适用于RK3588/RK356x等平台,需配合rknn-toolkit2使用,为YOLOv26的嵌入式部署提供完整解决方案。

qq_64366203的博客 2178

从询价到回款:一篇讲透 SAP SD 销售与分销的实战入门指南

摘要: SAP SD(Sales and Distribution)模块是SAP ERP中管理销售与分销的核心组件,贯穿从订单到回款(Order-to-Cash)的全流程。其核心价值在于将销售业务结构化,通过主数据(客户、物料、定价)和交易单据(订单、交货、发票)实现流程可审计、可自动化。SD模块与物流(MM)、生产(PP)、财务(FI)深度集成,涵盖定价策略、信用控制、发运管理、国际贸易等复杂场景。关键设计包括条件技术(Condition Technique)实现灵活定价,单据流(Document Flo

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 260

vscode 前端常用插件记录

提示:这里就是个人常用的vscode插件了,下次配置电脑直接按照这个安装即可。

wh20141212的博客 243

【数据集8】全球人口数据WorldPop详解

全球人口数据WorldPop详解

WW、forever的博客 7882

前端开发vscode 常用插件记录

二、css peek 它的主要作用是帮助开发人员更轻松地查找和导航CSS样式表中的类、ID、选择器和样式定义(鼠标移动到css样式名即可查看样式,点击直接跳转对应文件)十、GitLens 提供了对 Git 版本控制系统的全面支持,包括代码历史记录、代码比较、代码注释、代码作者等功能。一、Vetur 提供了对 Vue.js 项目的全面支持,包括语法高亮、智能提示、代码片段、错误检查、格式化等功能。三、Vue Peek 插件用来拓展 Vue 代码编辑的体验,可以让我们快速跳转到组件、模块定义的文件。

MissXu666的博客 820

【WRFDA教程】客观分析(OBSGRID)详解

客观分析(OBSGRID)详解

WW、forever的博客 1134

CUDA:实现使用cuSolverSP底层API实现Cholesky因式分解(附完整源码)

CUDA:实现使用cuSolverSP底层API实现Cholesky因式分解(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 346

记录我的vscode常用插件(前端)

翻译(英汉词典) 如标题意思,选中需要翻译的内容,翻译结果会在右下角展示 Auto Close Tag 自动添加闭合html标签 Auto Rename Tag 自动重命名对应html标签 Beautify 格式化代码 Bracket Pair Colorizer 2 使用不同颜色显示括号 Chinese (Simplified) Language Pack for Visual Studio Code 简体中文 CodeMetric 圈复杂度分析工具 CSS Peek 跳转class定义 ESLint

_EL 564

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

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

Jquery前端常用插件整理记录.(个人用)

发现自己的浏览器标签夹各种乱,各种曾经工作时需要的资料全集中一时,有的可能用一次就没在用过,躺在某个角落,此时资料的想法应该是 为了改变自己一下习惯做做整理记录。 前端实用插件 Highcharts  图表插件,个人所接触上第一个插件,记得没错的话当初应该是由几个大神编写,官网也还没有现在这么强大。掌握基础用法比较简单。当初算是它让我知道什么是插件,怎么样用插件,也是它使我发

在路上的小马达 7947

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

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

前端开发vscode常用插件,快捷键记录

Chinese Language Pack for VS Code 可以将软件变成中文 Open in Browser 如图,可以通过右键将文件直接在浏览器中打开 Auto Rename Tag 想要更改标签名字的时候,会自动更改配对的标签名,不需要手动做两次更改 ...

qq_41544842的博客 261

记录常用前端框架及插件(长期更新中...)

PC端 Element-UI 官方文档:https://element.eleme.cn/#/zh-CN 说明:vue后台管理系统开发首先框架,可自定义主题。 Layer-UI 官方文档:http://layer.layui.com/ 说明:官方包含单独的弹窗组件,包含移动端UI layer-ui是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛...

一入前端满是坑 421

整理了一些前端常用的插件安装和使用的命令(记录)三 git篇

版本控制 控制软件版本的工具 主流的2种版本控制软件 git svn 现代编辑器(文本编辑器 IDE编辑器)中 都会集成版本控制工具 git git是一个跨平台(操作系统windows linux unix osx)的版本控制工具 git是一个开源(开放源代码)的 分布式 版本控制系统 有效高速的去管理各种大型小型项目的源代码 Git 是 Linus Torvalds 为了帮助管理 Linux ...

weixin_45430248的博客 476

前端常用的插件安装和使用的命令(记录)三 git篇

...

lijunjie12345的博客 216

整理了一些前端常用的插件安装和使用的命令(记录)二 webserver篇

webserver服务器 Apache服务器。(端口号定义,http协议,开启和关闭) 访问项目(网站):域名和ip地址都可以。(运行–cmd–ipconfig访问本机ip地址) 本地的ip地址:127.0.0.1 本地的域名:localhost(本地主机)–C:\wamp\www WampServer(W:window;a:Apache;m:mysql;p:php)是一款由法国人...

weixin_45430248的博客 399

整理了一些前端常用的插件安装和使用的命令(记录)一 npm nvm cnpm nrm yarn

0. nvm的安装 概念 管理node.js版本的工具,可以让不同的项目使用不同的版本 安装方式 使用github里的安装包 查看node版本 nvm ls nvm安装node nvm install versions 查看node是否安装成功 node -v 查看的node版本 nvm ls 切换node版本 nvm use versions nvm安装地...

weixin_45430248的博客 653

【Vscode】vscode 前端常用必备插件汇总

公司换电脑了,无法访问 GitHub,Vscode 无法同步,只能重新装插件了。记录下,免得下次再去乱找。。。。。vscode 前端常用必备插件汇总

日常问题bug解决、学习分享、个人杂谈等等随便写写哈哈哈 133

Web前端第四季(jQuery):六:601-jQuery常用插件+602-编辑器插件和validation插件的下载+603-使用validation校验用户名

目录 一.目的 1.想:学习前端知识 2.想:记录笔记,下次不用看视频,直接看笔记就可以快速回忆。 二.参考 1.我自己代码的GitHub网址 2.SIKI学院:我参考此视频实操 3.w3school官网:当做字典使用 4.菜鸟教程:当做字典使用 5.Web前端第一季(HTML):我自己写的笔记博客 6.Web前端第二季(CSS):我自己写的笔记博客 7.Web前端第三季(JavaScript):我自己写的笔记博客 三.注意 操作:1:成功:601-jQuery常用插件一 1..

qq_40544338的博客 560
上一篇: 前端bug汇总
下一篇: 前端固定功能和工具类方法
谭CV
博客等级 码龄9年 73粉丝 85原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值