FreeBSD网站平台建设全过程(五、安装配置E-mail服务器)

HowTo如何制作一个文字冒险游戏-里篇(1) 文章分为表/里两个部分,分别讲述一个文字冒险游戏从引擎的制作到游戏本身的制作过程。里篇介绍引擎的设计,表篇介绍在这个引擎下的实际开发过程。系列内容计划包含脚本文件的读取、逐条解析、选项和跳转、变量与条件、音画媒体的使用、存档、个性化UI等多个方面。 阅读详情
第五步:安装配置E-mail服务器
ylf 写于2003年6月

演示地址:http://baihua.3322.org/cgi-bin/sqwebmail
iceblood前辈制作的qmail安装包使安装qmail邮件服务器简化了许多,只是sqwebmail汉化的好像有点问题,我下载了一个汉化好的 sqwebmail,将它填入iceblood前辈的安装包内,可以随安装包一次安装完成。为了提供邮箱注册功能,我使用了最新版本的 vqregister-2.5,并将其界面进行了简单的汉化。

本E-mail服务器包含的功能
1、Qmail帐号与系统帐号的分离。
2、Qmail邮件列表功能。
3、Qmail自动回复功能。
4、对vpopmail的支持。
5、邮件帐号WEB管理方式。
6、邮件的WEB使用方式,如:WEB发邮件,查看邮件。
7、能任意调整WEB的CGI以及HTML路径。
8、SMTP服务的密码验证功能,能有效的防止别人利用自己的服务器发送匿名信。
9、选择性安装webmail。
10、对虚拟域的支持。
11、增加qmail的管理脚本,安装后可以运行qmail start|stop|restart来管理qmail。
12、全面支持Mysql数据库,只要在SQL设置区里打开数据库的支持,并设置好数据库密码,就可以支持数据库了。
13、增加了QmailAdmin和sqwebmail的中文界面!![新]
14、对很多包有是否安装的可选择余地![新]
以上为iceblood前辈制作的qmail安装包v1.5.3自带功能。
在此基础上我添加了修改过的sqwebmail的中文界面并增加了邮箱注册功能(中文界面)。

下载qmail安装包1.5.3
ftp://baihua.3322.org/pub/server/Qmail_setup-v1.5.3.tar.gz
下载修改过的汉化安装包sqwebmail-3.5.0
ftp://baihua.3322.org/pub/server/sqwebmail-3.5.0-cn.tar.gz
下载我汉化后的vqregister-2.5
ftp://baihua.3322.org/pub/server
英文原版vqregister-2.5下载地址
http://inter7.com/vqregister.html

首先把下载的安装文件上传到/home/ylf/app目录
解压缩qmail_setup-v1.5.3安装包
# cd /home/ylf/app
# tar zxvf qmail_setup-v1.5.3.tar.gz
进入解开的目录
# cd Qmail_setup
将新的sqwebmail中文安装包拷到此目录
# cp ../sqwebmail-3.5.0-cn.tar.gz ./
编辑安装配置文件setup
# vi seutp
按系统情况修改如下内容:(这里是我的配置)

# 操作系统类型为FreeBSD
_OS="FreeBSD"

# 默认语言为中文
_LANG="CN"

# 不安装apache
_INSTALLAPACHE="NO"

# 添加qmail用户
_ADDQMAILUSERS="YES"

# 域名
_DOMAIN=mail01.3322.org

# 邮箱管理员密码
_MAILPASSWD=1234

# CGI路径
_CGIBIN=/usr/local/www/cgi-bin

# Html路径
_HTMLPATH=/usr/local/www/data


###########--------Advanced set--------#################
# 设置邮箱容量50M
_MAILSIZE=50000000
# enable virutal domain lookup via reverse ip address lookup for virtual domains. "y" and "n"
_USERCRUISE=n
# apache 安装路径
_APACHEPATH=/usr/local
# 不使用系统用户验证
_SYSTEMPASS=n
# 安装 vpopmail
_VPOPMAIL="YES"
# 安装 ezmlm
_EZMLMIN="YES"
# ezmlm coding
_EZMLM=ch_GB
# 安装 autorespond
_AUTORESPOND="YES"
# 安装 QmailAdmin
_QMAILADMIN="YES"

##########--------SqWebMail set--------#############
# 安装 webmail
_WEBMAIL="YES"
# webmail coding set.have "iso","gb2312","big5" and more.
_MIMESET=gb2312
# webmail use SSL,"YES" or "NO"
_WEBHTTPS="NO"

##########--------SQL set---------################
# 使用数据库
_SQL=y
# mysql 主机
_SQLHOST=localhost
# mysql 用户
_SQLUSER=root
# mysql 密码
_SQLPASS=123456
# include path
_INCDIR=/usr/local/include/mysql
# lib file path
_LIBDIR=/usr/local/lib/mysql


然后在安装脚本里找到下面几句
tar xzf sqwebmail-3.3.7.20020910.tar.gz
cd sqwebmail-3.3.7.20020910
if [ "$_LANG" = "CN" ]; then
cp /tmp/iceblood/Qmail_setup/iceblood/sqwebmailcn/*.html sqwebmail/html/en-us
fi

将其改为
tar xzf sqwebmail-3.5.0-cn.tar.gz
cd sqwebmail-3.5.0
#if [ "$_LANG" = "CN" ]; then
#cp /tmp/iceblood/Qmail_setup/iceblood/sqwebmailcn/*.html sqwebmail/html/en-us
#fi

改好后保存。这样安装包就可以自动安装新的sqwebmail程序。

让setup可执行
# chmod 700 setup
执行setup安装
# ./setup
安装完成后系统自动运行qmail程序。可以通过qmail start|stop手动启动或停止qmail程序。

测试
因为我们前面设置了虚拟主机www01.3322.org 和 www02.3322.org,他们的文档目录不是安装qmail时所指定的目录。为了保证邮件访问正常,我们再添加一个虚拟主机mail01.3322.org,
将它的文档目录指向/usr/local/www/data:
先到希网申请一个域名,我们假设它是mail01.3322.org

编辑/usr/local/etc/apache/httpd.conf
# vi /usr/local/etc/apache/httpd.conf
添加下面一段
<VirtualHost *>
ServerAdmin webmaster@mail01.3322.org
DocumentRoot /usr/local/www/data
ServerName mail01.3322.org
ErrorLog /var/wwwlogs/mail01.3322.org.error.log
CustomLog /var/wwwlogs/mail01.3322.org.log common
</VirtualHost>

重新启动apache
# /usr/local/etc/rc.d/apache.sh stop
# /usr/local/etc/rc.d/apache.sh start

首先确认mail01.3322.org已经正确指向了你的主机ip地址。然后在浏览器地址栏输入http://mail01.3322.org/cgi-bin/qmai...g,密码是1234。
建立一个新用户,然后在浏览器地址栏输入http://mail01.3322.org/cgi-bin/sqwebmail
以你新建立的用户登录,就可以收发邮件了!

关于SMTP验证的问题:
网上有很多讨论关于qmail安装包的smtp验证有问题的文章,我经过反复测试,发现iceblood前辈的安装包本身并没有问题,问题出在 foxmail上,如果你使用Foxmail4.2发邮件,不需要在smtp验证添任何内容就能发出去;如果是使用outlook,不添或添错了smtp 验证内容都发不出去。大家可以试试。所以我这里没有给qmail-smtp打补丁。(iceblood前辈的安装包不同版本之间好像有区别,建议大家下载 我这个)

安装vqregister-2.5
vqregister-2.5是vqsignup的升级版本,提供qmail邮箱注册功能。
进入vqregister-2.5安装目录
# cd /home/ylf/app/vqregister-2.5-cn

编译安装前需要修改两个文件
修改register.c文件
# vi register.c
找到下面一行
eret = execl("/var/qmail/bin/qmail-remote", "/var/qmail/bin/qmail-remote", p, "register@inter7.com", cemail, NULL);
将里面的qmail路径指向正确的路径,这里改为
eret = execl("/usr/local/qmail/bin/qmail-remote", "/usr/local/qmail/bin/qmail-remote", p, "register@inter7.com", cemail, NULL);

修改安装配置文件Makefile
# vi Makefile
找到这几行
DEFS = -I$(VDIR)/include -I/usr/local/mysql/include

LIBS = -L$(VDIR)/lib -lvpopmail -lcrypt -L/usr/local/mysql/lib/mysql -lmysqlclient

INSTALL_DIR = /usr/local/apache/cgi-bin/vqregister

将它们改成实际路径,这里是
DEFS = -I$(VDIR)/include -I/usr/local/include/mysql

LIBS = -L$(VDIR)/lib -lvpopmail -lcrypt -L/usr/local/lib/mysql -lmysqlclient

INSTALL_DIR = /usr/local/www/cgi-bin/vqregister

编译安装
# make install

安装完成后需要编辑vqregister的配置文件
# cd /usr/local/www/cgi-bin/vqregister
# vi vqregister.conf
修改下面几项

# 设置管理信息
AdminEmail postmaster@mail01.3322.org

# 设置邮箱使用的域名
AllowDomain mail01.3322.org

其它项目可根据注释修改,不改也行,直接保存即可。

测试vqregister
在浏览器地址栏输入http://mail01.3322.org/cgi-bin/vqre.../vqregister.cgi ,按要求添入注册信息,提交后显示注册成功信息,证明你的vqregister安装成功!如果出现错误,请按提示检查注册信息或检查 vqregister.conf文件。
轻松打造互动内容的Flash动画工具 随着多媒体内容的需求日益增长,创建引人入胜的视觉效果不再是一个技术密集型的难题。第一章将介绍一个超简单的Flash制作工具,它是如何简化动画和互动内容的创造过程,使其变得易于上手。我们会探讨该工具的核心功能、用户界面设计以及它对各个层次创作者的友好性。通过本章,读者将对选择这样的工具以快速实现项目需求有一个基本的了解。基础动画技术包括简单的关键帧动画、过渡动画和变换动画等。这些技术相对简单易学,但在实际应用中可以产生很大的视觉冲击。 阅读详情

相关推荐

FreeBSD邮件系统安装详细指南

介绍如何在FreeBSD 下建立一个强大的邮件系统

在FreeBSD7.0上构建基于postfix的邮件系统(第一部分)

在FreeBSD7.0上构建基于postfix的邮件系统第一部分本文参考http://www.chinaunix.net/jh/5/1119098.html,进行了细化整理,Mailman+ClamAv的安装在第二部分。1. 邮件系统邮件系统原理系统架构图+---------------------------------------------------+|

(Andrew)的专栏 6008

网络系统配置与管理.ppt

实验目的,了解IGRP动态路由的配置与运行过程,会运用IGRP动态路由配置与连接多台路由器。 (2)实验资源、工具和准备工作。Cisco2621路由器4~5台,网络实验拓扑图,如图6.17所示。Windows 2000 客户机4~6台,制作好的UTP网络连接线(双端均有RJ-45头)若干条,集线器或交换机3~5台。子网划分与地址分配可参考表6.4。 (3)实验内容。按照6.4.2节的配置步骤,设置图6.17中各台路由器名称、IP地址、一般用户口令、特权用户口令、IGRP路由。保存配置文件。重新启动路由器,调试网络,直至多台路由器互连成功。 (4)实验步骤 ① 按照6.4.2给出的配置操作示例,进行网络互连的配置与调试。 ② 写出实验报告。

FreeBSD下安装postfixl邮件系统

一、首先安装apache+mysql+php, 在本文档中假设服务器的ip地址为172.16.27.23,域名为test.com,主机名为mail.test.com 二、安装courier-imap,courier-imap主要提供Pop3及IMAP服务。1.ports安装courier-imap cd /usr/ports/...

weixin_34216196的博客 503

FreeBSD邮件服务器安装

邮件服务器安装 postfix+vm-pop3d+openwebmail clamav+amavisd-new+spam 安装笔记v.1.0.1

压电传感器信号放大难题?用运放设计电荷放大器的5个关键步骤

本文详细解析了压电传感器信号放大难题,并提供了用运放设计电荷放大器的5个关键步骤。从电压放大到电荷放大的范式转换,到运放选型、反馈网络设计、PCB布局及频响特性验证,帮助工程师解决工业自动化中的信号衰减问题,提升测量精度和稳定性。

weixin_27303545的博客 449

修改 flash_flash中的文字怎么修改?教你轻松编辑flash中的文字

  大家在玩flash小游戏的时候,一定有碰见全部文字都是英文的,看又看不懂,感觉文字很多余,要是能换成中文版的就顺眼多了。可是要想修改flash中的文字有那么容易吗?我一个不会做flash的人该怎么修改flash中的文字呢?其实学会了这个不用会做flash也可以修改flash中的文字。  要想修改flash中的文字,得有个工具才行,闪客精灵就是个不错的选择,下面我们一起来看一下flash中的文字...

weixin_34053992的博客 2377

stm32cubeMX使用HAL库点亮LED流水灯

目录

weixin_46129506的博客 3798

flash粒子文字特效

蓝色系雨水下落形成的flash粒子效果,看上去很有动感很炫的flash粒子特效,可以通过xml文件方便的修改文字、字体、字号等,flash效果很炫但在网页上使用性不是很多,好东西看看也好不一定也用,你说是吗? 下面先来看看xml文件的内容 JSCTRLC Verdana 160 name为文字内容,font文字的字体,

网页特效_网络技术 1694

汽车轮胎动平衡背后的秘密:如何用惯性主轴原理消除方向盘抖动

本文深入解析了汽车轮胎动平衡的核心原理,即利用惯性主轴原理消除高速行驶时的方向盘抖动。文章从方向盘抖动的现象出发,阐释了动不平衡产生的物理本质,并详细介绍了如何通过动平衡机测量、计算与校正,使轮胎-轮毂系统的实际旋转轴回归其惯性主轴,从而实现稳定运转。

grafana6viz的博客 347

用数据分析优化彩票决策:放弃预测,专注理性投入

彩票本质上是负和博弈的概率系统,其核心并非号码预测,而是对玩法规则、返奖率(RTP)、投入策略与心理约束的量化决策。基于组合数学与二项分布的分析方法,可精确计算各奖项概率、评估不同玩法的实际回报效率,并构建个人资金-风险-目标模型。数据的价值不在于打破随机性,而在于识别非随机环节——如奖池跃升期的RTP波动、固定奖的保底收益、冷热号背后的分奖博弈结构。这种以决策优化为导向的数据实践,适用于将彩票视为受控实验的理性参与者,而非追求玄学中奖的投机者。

frank1998819 641

visual studio code怎么改成中文_flash中的文字怎么修改?教你轻松编辑flash中的文字...

  大家在玩flash小游戏的时候,一定有碰见全部文字都是英文的,看又看不懂,感觉文字很多余,要是能换成中文版的就顺眼多了。可是要想修改flash中的文字有那么容易吗?我一个不会做flash的人该怎么修改flash中的文字呢?其实学会了这个不用会做flash也可以修改flash中的文字。  要想修改flash中的文字,得有个工具才行,闪客精灵就是个不错的选择,下面我们一起来看一下flash中的文字...

weixin_39519554的博客 413

【Unity动画系统】详解Root Motion动画在Unity中的应用(一)

什么时候勾选Bake into pose,当不希望动画带动游戏对象旋转时。在旋转的动画中一般是不用勾选的,因为就需要用它来带动我们的角色对象旋转。但在比如前进、后退、待机等动画来说,我们就可以勾选这里,以避免因动画文件本身的瑕疵而给我们带来的旋转。loop match:代表了这个动画在角度上的吻合度。如果这个动画在播放中转角过大,那么就会显示红色,告诉我们如果勾选bake into pose,则会带来不好的效果。

weixin_60154963的博客 6805

Flash-制作空心文字

经常看到网站上用许多空心文字作为网站的名称或者特色项目的名称等等,那这些空心文字是怎么做出来的呢? 用Flash其实很快就能做出来,步骤如下: (1)新建空白文件,工具箱中选择"文本"工具,在文档中输入文字"汤姆克鲁斯" (2)选中文本,直接ctrl+b,将文本分离(为什么将文本分离,之前的博客中有讲过) (3)再按一次ctrl+b(修改->

你为什么不努力的专栏 2238

QGis软件 —— 1、Windows10下载安装QGis及插件

QGis —— 1、Windows10下载安装QGis及插件

5159

ADS基础教程22 - 有限元电磁仿真(FEM)

一、引言二、FEM操作过程1.新建Layout1.新建Layout2.EM设置3.设置Frequency plan4.设置Output plan5.设置Options6.设置网格频率7.仿真结果三、总结介绍了在ADS中如何进行FEM仿真过程。END!}}END!

XZ_ZC的博客 2580

flash制作文字笔顺_制作动画视频软件用哪些?这几款用过的都说好,太实用了!...

原标题:制作动画视频软件用哪些?这几款用过的都说好,太实用了!随着动画技术的普及和不断快速发展,目前市面上的动画视频制作软件非常之多,让人看的眼花缭乱,不同的软件之间,各有特色、难易程度、制作效果等也不同,这里就给大家介绍几款实用的可以制作动画视频软件。一、万彩动画大师入门级的MG动画制作软件,操作简单,软件中具有各种模板可以选择,人物和场景都包括在内,也省去了制作素材的麻烦,对初学者来说很是友好...

weixin_39781930的博客 356

〖Python WEB 自动化测试实战篇⑤〗- selenium 元素定位详解 - (八大元素定位方式)

测试对象的定位和操作是我们利用 selenium 编写自动化脚本和 webdriver 的核心内容,其中 "操作" 这一部分又是建立在 "selenium" 元素定位的基础之上的。所以对元素对象的定位就显得越发的重要,接下来我们就学习一下常用的元素定位方法有哪些。......

易编橙 · 终身成长社群,相遇已是上上签! 4万+

SWFText 让菜鸟也能轻易制作出专业级的Flash动画

 SWFText是一款功能强大的Flash特效文字制作软件,你无须任何动画基础就能制作出动感十足的Flash特效文字。软件使用非常简单,只要根据软件导航栏中的项目顺序进行设置就可轻松地完成动画制作。    它可以制作超过200种不同的文字效果和20多种背景效果,可以完全自定义文字属性,包括字体、大小、颜色等等,使用SWFText完全不需要任何的Flash制作知识就可以轻松的做出专业的Flash广告...

weixin_43630492的博客 321

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

FLASH制作全套装备

文章转自Flash片头之家 PianTou.net绝对超值!不管你是FLASH爱好者,还是FLASH专业制作者,我相信,下面的软件肯定有你没发现或没注意到的!现在就给大家介绍和FLASH有关的接近所有的制作软件及其下载地址。一、FLASH常用制作软件FLASH8,FLASH CS3软件说明:我想大家基本上都用这两个软件吧(这里值得一说的是,如果你在用中文版的时候出现BUG,如无法导入位图,视频,无...

格瑞--和你一起学习生活! 361

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

ROM、RAM、FLASH、NVM……一文搞定

前段时间面试了一个小伙子,他有三四年嵌入式软件开发经验的了,随意问了一个问题: MCU软件的变量是存在哪的,RAM还是ROM? 他犹豫了会,说是ROM。 接着我问他RAM和ROM有什么区别,他“呃”了几下,然后就没然后了…… 很多人在“专注”开发自己负责的模块功能,很少关注这些概念,但做嵌入式开发的,我们经常会遇到诸如ROM、RAM、EEPRM、FLASH……这样的概念。 它们分别是什么,有什么区别呢? 今天我就将它们彻底地讲个明白。 1. Computer Memory ROM、RAM、EEPRM、FL

嵌入式软件实战派 2万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

FLASH制作全套工具

一、FLASH常用制作软件;FLASH8,FLASH CS3软件说明:我想大家基本上都用这两个软件吧(这里值得一说的是,如果你在用中文版的时候出现BUG,如无法导入位图,视频,无法发布EXE文件,这就是可能制作FLASH汉化版中存在的BUG了,所以这里建议使用FLASH英文原版,至少不会有这样的问题出现)下载地址:FLASH8英文版:http://down.chinaz.com/soft/8156...

TTS 577

如何做出透明背景的flash动画

最近碰到了一个问题,做动画时怎么设置透明背景,字是白色的,网上搜了一下,发现可以这样做 在插入的flash代码中加入这一行代码就可以实现了 <param name="wmode" value="transparent"> 转载于:https://www.cnblogs.com/wangbei2016/p/5594077.html...

weixin_34249678的博客 95

flash 一些应用

<br />一、文字快速分配到各层<br />1.输入几个文字,ctrl+b打散一次。这时看到的文字是分离开的,而且也是选中的状态。<br />2.在这些文字(不要取消选中状态)上右击选择“分配到层”。操作过“时间轴”中就会多出几个层,每个层都是以打散后的文字命名的。<br /><br />二、导入swish制作的文字特效<br />1.在swish中制作你需要的文字特效,ctrl+e导出为.swf格式的文件。<br />2.在FLASH中ctrl+f8新建一个MC。<br />3.打开这个新建的MC,并导

起跑线的专栏 1079

解决Linux下Flash文字不能显示的问题

解决Linux下Flash文字不能显示的问题 来源: http://roclinux.cn/?p=1189 本文章属于《Linux大棚》博客,博客地址为http://roclinux.cn。文章作者为rocrocket。为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅。 === [正文开始] 看到一位朋友的文章,解决我的一个棘手问题。非常感谢。转贴在此,留作纪念:) ...

weixin_34223655的博客 274
上一篇: reeBSD网站平台建设全过程(四、安装配置ftp服务器)
下一篇: FreeBSD网站平台建设全过程(六、安装配置视频点播服务器)
nmdd
博客等级 码龄22年 3粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值