Tony 发布的文章

深入探究java多线程之基本方法


  wikipedia:进程线程   多线程是java一项重要的知识点,简单来说进程就是一个应用程序在处理机上的一次执行过程,而进程又可以细分为多个线程,java具备多线程执行的特性,通过其Thread类,可以提高程序运行的效率。   java实现多线程主要有两种方式:   继承Thread类或实现Runnable接口,由于java的单继承特性,所以实现多继承可以通过接口实现的方式。同时要注意多线程运行结果与代码执行顺序无关。   在运行多线程方法时要注意多个线程对相同数据进行操作时是非线程安全的,建议通过添加关键字sychronized对run方法加锁,下面来看一个示例:


caffe python接口配置过程中的坑


  我的caffe安装过程在: https://www.hongweipeng.com/index.php/archives/459/ 下面说说python接口的配置,官网就几个命令而已,然而事实并不乐观。

 1.基础安装步骤略过。  配置的话可以参考:http://blog.csdn.net/u011762313/article/details/47624119

 2.在最后执行make pycaffe时卡在了:

CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp

 不知道原因:默默地等了好久

 3.怀疑是Makefile.config 问题(caffe编译问题大部分源自这里),最后找到一个靠谱的解决方案。

http://blog.csdn.net/lujiandong1/article/details/50540486


阿里云CentOS7上安装配置caffe(仅CPU)记录


  终于要尝试caffe了,这个框架目前在深度学习领域十分流行,功能也十分强大,caffe的种种优势就不说了,但由于安装过程中实在遇到了太多坑,所以记录下来,供大家参考。附上caffe的官方教程,有空可以看看。   我是用root身份安装的,首先从github上把最新的 caffe pull下来,上传到/root目录下并解压。   1.安装依赖库

 yum install atlas-devel protobuf-devel leveldb-devel snappy-devel opencv-devel boost-devel hdf5-devel gflags-devel glog-devel lmdb-devel


Tornado学习之网站制作篇


  之前介绍过Tornado是一个多用途的Python框架,下面通过两个例子四个方面来介绍如何利用Tornado来制作网站(不适合制作大型网站)。   先看一个简单的例子:

import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web

from tornado.options import define, options

define("port", default=8888, help="run on the given port", type=int)

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

def main():
    tornado.options.parse_command_line()
    application = tornado.web.Application([
        (r"/", MainHandler),
    ])
    http_server = tornado.httpserver.HTTPServer(application)
    http_server.listen(options.port)
    tornado.ioloop.IOLoop.current().start()

if __name__ == "__main__":
    main()


Tornado学习之入门篇


  简单来说Tornado是Python写的一个框架,这个框架的特别之处在于它既是一个Web framework,也可以是Web Server(facebook用它做FriendFeed),采用异步IO模型,支持WSGI,在官方定义的4种功能中,它还可以作为协同组件,即和其它框架一起使用,包括Django。这几种功能并不冲突,使用主要取决于需求。总之,Tornado是一个简单高效的多用途框架。