首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何用70行代码实现深度学习(Java,极易移植)

    作者的话:这篇文章重点是讲清楚多层神经网络的计算过程和程序实现。 复杂海量数据的分布式计算,多层的训练的梯度衰减等问题,可以从本文基础上去进一步改进优化。层数多时,也有很多用ReLU代替Sigmoid函数,来改善前面隐含层的学习变化越来越弱的问题。 对于现在流行的深度学习,保持学习精神是必要的——程序员尤其是架构师永远都要对核心技术和关键算法保持关注和敏感,必要时要动手写一写掌握下来,先不用关心什么时候用到——用不用是政治问题,会不会写是技术问题,就像军人不关心打不打的问题,而要关心如何打赢的问题。 程序

    03

    【多线程】之线程通讯wait和notify的使用

    1、定义 等待/通知机制,是指一个线程A调用了对象object的wait()方法进入等待状态,而另一个线程B调用了对象object的notify或者notifyAll()方法,线程A收到通知后从对象O的wait()方法返回,进而还行后续操作。 使用wait和notify方法实现线程之间的通信,这两个方法是Object类的方法。 注意细节: 1.1 调用wait()方法,会释放锁,线程状态由RUNNING->WAITNG,当前线程进入对象等待; 1.2 调用notify()/notifyAll()方法不会立马释放锁,notify()方法是将等待队列中的线程移到同步队列中,而notifyAll()则是全部移到同步队列中, 被移出的线程状态WAITING-->BLOCKED; 重点注意,等待队列和同步队列的转换;wait()后进入等待队列;notify()/notifyAll(),线程进入同步队列; 1.3 当前调用notify()/notifyAll()的线程释放锁了才算释放锁,才有机会唤醒wait线程; 1.4 从wait()返回的前提是必须获得调用对象锁,也就是说notify()与notifyAll()释放锁之后,wait()进入BLOCKED状态,如果其他线程 有竞争当前锁的话,wait线程继续争取锁资格。可以理解为,从同步队列中的线程抢占锁执行; 1.5 使用wait()、notify()、notifyAll()方法时需要先调对象加锁。这就是跟synchronized关键字配置使用; 2、代码运行过程

    01

    Linux(CentOS)下配置安装Tomcat并配置JDK环境

    第一步、下载JDK、Tomcat 下载JDK https://edelivery.Oracle.com/otn-pub/java/jdk/7u45-b18/jdk-7u45-linux-x64.rpm 或者:#wget https://edelivery.oracle.com/otn-pub/java/jdk/7u45-b18/jdk-7u45-linux-x64.rpm 版本:jdk-7u45-linux-x64.rpm 安装JDK [root@thinkpig007 ss]# rpm –ivhjdk-7u45-linux-x64.rpm 下载tomcat7 http://apache.fayea.com/apache-mirror/tomcat/tomcat-7/v7.0.47/bin/apache-tomcat-7.0.47.tar.gz 或者: #wget http://apache.fayea.com/apache-mirror/tomcat/tomcat-7/v7.0.47/bin/apache-tomcat-7.0.47.tar.gz 版本:apache-tomcat-7.0.47.tar.gz 第二步、卸载系统老的tomcat 卸载使用yum自动安装的tomcat6 #yum remove tomcat6 查看本机的jdk本版 #java –version [root@thinkpig007 ss]# java-version java version"1.6.0_24" OpenJDK Runtime Environment(IcedTea6 1.11.13) (rhel-1.65.1.11.13.el6_4-x86_64) OpenJDK 64-Bit Server VM(build 20.0-b12, mixed mode) [root@thinkpig007 ss]# 查看本机已经安装的JDK版本 [root@thinkpig007 ss]# cd/usr/java/ default/    jdk1.7.0_45/ latest/      注意:这里的jdk目录就是我们修改/etc/profile环境变量是所要填写路径及目录名称,如下 exportJAVA_HOME=/usr/java/jdk1.7.0_45 (详解:“第三步、安装tomcat7”中的“(4) 添加tomcat环境变量”) [root@thinkpig007 ss]# cd/usr/java/ [root@thinkpig007jdk1.7.0_45]# cat release JAVA_VERSION="1.7.0" OS_NAME="Linux" OS_VERSION="2.6" OS_ARCH="amd64" SOURCE=" .:f0cdb08a4624corba:80f65a8f5850 deploy:2b1995e2c8f5 hotspot:12374864c655hotspot/make/closed:2c0b7ecdd92d hotspot/src/closed:b8a50da977b6hotspot/test/closed:47eee40b7622 install:99193876e329 jaxp:4beb90ab48f7jaxws:65b0f3ccdc8b jdk:c5ca4daec23b jdk/make/closed:917a8e455dc3jdk/src/closed:b6127fd9ff72 jdk/test/closed:e3c74041acc5 langtools:ba3ff27d4082pubs:476da1da84f7 sponsors:c732b1a6f43b" BUILD_TYPE=commercial 第三步、安装tomcat7 安装tomcat (1)解压apache-tomcat-7.0.47.tar.gz [root@thinkpig007 ss]# tar-zxvf apache-tomcat-7.0.47.tar.gz (2)复制解压后的目录apache-tomcat-7.0.47到/usr/local下并重命名为tomcat7 [root@thinkpig007 ss]# cp -Rapache-tomcat-7.0.47 /usr/local/tomcat7 注意:/usr/local/tomcat7就是后面我们要修改环境变量时需要填写的目录路径 (3)进入bin目录 [root@thinkpig007 ss]# cd/usr/local/tomcat7/ [root@thinkpig007 tomcat7]# cdbin/ [root@thinkpig007 bin]# 没修改环境变量前,启动tomcat出错 [root@thinkpig007 bin]#./star

    01

    第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-677 乘积最大

    这段时间我会把蓝桥杯官网上的所有非VIP题目都发布一遍,让大家方便去搜索,所有题目都会有几种语言的写法,帮助大家提供一个思路,当然,思路只是思路,千万别只看着答案就认为会了啊,这个方法基本上很难让你成长,成长是在思考的过程中找寻到自己的那个解题思路,并且首先肯定要依靠于题海战术来让自己的解题思维进行一定量的训练,如果没有这个量变到质变的过程你会发现对于相对需要思考的题目你解决的速度就会非常慢,这个思维过程甚至没有纸笔的绘制你根本无法在大脑中勾勒出来,所以我们前期学习的时候是学习别人的思路通过自己的方式转换思维变成自己的模式,说着听绕口,但是就是靠量来堆叠思维方式,刷题方案自主定义的话肯定就是从非常简单的开始,稍微对数据结构有一定的理解,暴力、二分法等等,一步步的成长,数据结构很多,一般也就几种啊,线性表、树、图、再就是其它了。顺序表与链表也就是线性表,当然栈,队列还有串都是属于线性表的,这个我就不在这里一一细分了,相对来说都要慢慢来一个个搞定的。蓝桥杯中对于大专来说相对是比较友好的,例如三分枚举、离散化,图,复杂数据结构还有统计都是不考的,我们找简单题刷个一两百,然后再进行中等题目的训练,当我们掌握深度搜索与广度搜索后再往动态规划上靠一靠,慢慢的就会掌握各种规律,有了规律就能大胆的长一些难度比较高的题目了,再次说明,刷题一定要循序渐进,千万别想着直接就能解决难题,那只是对自己进行劝退处理。加油,平常心,一步步前进。

    02

    Hadoop 2.2.0编译安装

    添加用户及无密码访问 添加用户 adduser hadoop 设置密码 passwd hadoop 添加到sudo用户组 chmod +w /etc/sudoers echo '%hadoop ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers chmod -w /etc/sudoers su hadoop ssh-keygen -t rsa 机器互通 安装maven sudo mkdir -p /opt/maven sudo chown -R hadoop:hadoop /opt/maven tar zxvf apache-maven-3.1.1-bin.tar.gz -C /opt/maven/ 安装JDK sudo mkdir -p /opt/java sudo chown -R hadoop:hadoop /opt/java tar zxvf jdk-7u45-linux-x64.tar.gz -C /opt/java/ 配置环境变量 sudo vim /etc/profile export JAVA_HOME=/opt/java/jdk1.7.0_45 export MAVEN_HOME=/opt/maven/apache-maven-3.1.1 export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH 安装protobuf wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.bz2 sudo mkdir -p /opt/protobuf sudo chown -R hadoop:hadoop /opt/protobuf tar jxvf protobuf-2.5.0.tar.bz2 -C /opt/protobuf sudo yum install gcc cd /opt/protobuf/protobuf-2.5.0 ./configure make sudo make check sudo make install protoc --version 安装hadoop 2.2.0 tar zxvf hadoop-2.2.0-src.tar.gz 打补丁 cd hadoop-2.2.0-src wget https://issues.apache.org/jira/secure/attachment/12614482/HADOOP-10110.patch patch -p0 < HADOOP-10110.patch 编译 mvn clean install -DskipTests 编译本地包 sudo yum install cmake ncurses-devel openssl-devel -y mvn package -Pdist,native -DskipTests -Dtar 校验安装成功 cd /home/hadoop/hadoop-2.2.0-src/hadoop-dist/target/hadoop-2.2.0 bin/hadoop version 加快其它机器编译速度 scp -r ~/.m2/ kn02:~/

    02
    领券