- 博客(46)
- 资源 (11)
- 收藏
- 关注
原创 稀疏奖励问题解决方案总览
RND 通过训练一个固定的随机网络(即“目标网络”)和一个可训练的网络(即“预测网络”),并使用两者之间的输出差异作为内在奖励。对于一个给定的状态和动作,如果有多种可能的下一个状态(即,多模态分布),基于误差的内在奖励可能不是最佳选择,因为模型可能会对其中一个模态进行过度拟合。虽然 HER 可以在非稀疏奖励设置下使用,但它可能不是最有效的解决方案,因为其他方法(如基于值的方法或策略梯度方法)可能更适合这种类型的问题。根据问题的特性,HER 的有效性可能会受到如何采样“实现的目标”的影响。
2023-09-24 14:38:09
480
原创 《Java程序员面试笔试宝典》读书笔记——链表常用操作
一、如何从链表中删除重复数据把遍历的值存储到一个Hashtable中,利用其去重的特性。优点:时间复杂度低缺点:需要额外的存储空间来保存已遍历过的值更为高效的办法:对链表进行双重循环遍历,外循环正常遍历链表,假设外循环当前遍历的结点为cur,内循环从cur开始遍历,若碰到与cur所指向结点值相同,则删除这个重复结点。优点:不需要额外的存储空间缺点:时间复杂度高算法如下: public v
2017-08-14 12:47:30
733
原创 《深入理解Java虚拟机》读书笔记——垃圾收集器与内存分配策略
一、判断对象是否存活的算法:引用计数算法。 给对象添加一个引用计数器,每一个地方引用它时,计数器值加1;当引用失效时,计数器值减1;任何时刻计数器为0的对象就是不可能再被使用的。优缺点:实现简单,效率高;但很难解决对象之间相互循环引用的问题。可达性分析算法 通过一系列的称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当一个对象到GC Roots
2017-08-08 17:02:19
608
原创 《深入理解Java虚拟机》读书笔记——Java内存区域与内存溢出异常
一、内存区域(运行时数据区域)划分:程序计数器线程安全,每条线程都有一个独立的程序计数器字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令分支、循环、跳转、异常处理、线程恢复等都是依靠它实现Java虚拟机栈也是线程私有,生命周期与线程相同描述的是Java方法执行的内存模型:每个方法在执行的同时都会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息。
2017-08-08 15:22:15
500
原创 ambari-server安装(ubuntu、deepin、debian通用)
Ambari同Hadoop一样,也是Apache软件基金会中的一个项目,且是顶级项目,目前最新的发布版本是2.5.1。其具有创建、管理、监视Hadoop(指Hadoop生态圈,包括hbase,hive等)的集群的功能。OK,进入正题。 第一步,我们需要在集群的每台机器上修改hosts信息和配置主节点ssh免密登录从节点,具体请看这篇博客关于他们的配置。第二步,安装启动ntpsudo apt-get
2017-07-06 00:02:40
2501
2
原创 构建完全分布式的Hadoop2.x
最近开始学Hadoop,嗨,也是一把辛酸泪,找到适合的好书不容易啊,不唠叨了,开始吧。这次我只用了两台机子,一个自己的笔记本电脑,deepin系统,作为Master节点,另一个阿里云服务器,Ubuntu系统,作为node节点(其实也够了,第三、第四台的配置和第二台是一样的,只是名字不同,哈哈)第一步,配置hosts文件,主要用于确定各个节点主机的IP地址,方面后续访问(每个主机都需要添加同样的内容)
2017-07-04 20:52:57
596
转载 移动端数据库神器-Realm 项目配置(入门一)
Realm是一个用来替代sqlite的解决方案,它比sqlite更轻量,同时速度更快,而且使用起来很简单顺手,还跨平台,目前已支持Java,Objective C,Swift,React-Native,Xamarin这五种语言。本篇博客以Android语言为基础,带大家一起探索realm的神奇之处。Realm官网:https://realm.io/工欲善其事,必先利其器。我们在Android Stu
2017-05-14 09:56:03
606
原创 linux配置git
放了好久都没怎么用的 git,感觉都要忘了,哈哈,温习一下。俗话说,无代码不BB,今天我们将一如既往的带着代码讲解配置git客户端的过程。首先,我们先讲讲配置git客户端,第一步,安装git:sudo apt-get install git配置git的用户名和邮箱(我这里用的是github上账号的用户名和邮箱,没有的同学可以注册一个):git config --global user.name "你
2017-03-29 21:52:47
539
原创 ubuntu+Django+python3+mysql
众所周知,Django中如果使用的是python3,其官方默认使用的mysqldb是不能用的,原因:额,就是还没开发出来呗。然而,天无绝人之路,我们还可以使用mysqlclient连接mysql,今天我们来聊聊怎么从零开始使用mysqlclient。首先,python3,python3-pip这肯定要装的啦,没有装pip的话请执行以下命令安装:sudo apt-get install python3
2017-03-14 14:02:21
2241
原创 Android中java线程的暂停与恢复
在Android中有时我们会遇到类似这样的问题,我要绘制一个曲线图,但是我想让它可以被暂停和继续。首先,绘图肯定得用到多线程的知识。java的Thread类中自带suspend和resume两个方法来实现线程的暂停和恢复,可惜的是,现在已经不被建议使用了,而且,就算你用了,也没什么卵用,根本没效果,哈哈(这就很尴尬了!)网上查了不少资料(在这里感谢网上一些博客的指导了),经过修改,哈,保证绝对可以用
2017-03-09 16:35:27
10819
2
原创 android实现可自由移动、监听点击事件的悬浮窗
最近因为项目需要,自己实现了个可以自由移动,并且长按可以跳出一个控制播放的,额,大的悬浮窗。好,开始吧。首先我们先聊权限,悬浮窗需要在manifest中声明一个权限:<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />然后呢,嗯,我们来讲讲关于悬浮窗实现的原理。在Andriod中,所有的界面元素都要通过wi
2017-03-09 00:06:09
12965
3
原创 django遇到TypeError: can't multiply sequence by non-int of type 'tuple'
大家都知道Django默认的数据库用的是sqlite,是的,sqlite用着用着也没什么问题。But,我一次性插入2000条不到的数据竟然花了将近10秒的时间,这怎么能忍呢,于是果断换成了mysql。人生路漫漫,想转成mysql也不是这么容易的,不转不知道,一转遇到了一大堆问题。现在我分享一个解决了很久的问题。Django官方的库只支持python2.x版本的mysql驱动,想在windows上用p
2017-03-07 14:16:10
7187
原创 android使用高德地图SDK获取定位信息
注册账号、创建应用、获取API KEY等这些就不说了,按照官网来就行,我们来讲讲项目的配置及示例代码。高德地图获取定位信息配置要比百度地图简单多了,这是我比较喜欢的一点,而且之前用百度地图嵌入一个应用时,有的手机可以定位成功,有的却无法启动定位。言归正传,第一步,我们需要下载SDK:http://lbs.amap.com/api/android-location-sdk/download/第二步,解
2017-02-09 01:28:45
11366
原创 android使用百度地图SDK获取定位信息
本文使用Android Studio开发。获取定位信息相对简单,我们只需要如下几步:第一步,注册百度账号,在百度地图开放平台新建应用、生成API_KEY。这些就不细说了,请前往这里:http://lbsyun.baidu.com/index.php?title=android-locsdk/guide/key第二步,下载sdk,地址:http://lbsyun.baidu.com/index.php
2017-02-09 01:20:06
23688
原创 ubuntu下使用nginx搭建流媒体服务器,实现视频点播
为了实现视频点播和直播,整了一天,看了N多博客,终于有了不小进展,在这里分享给大家。 什么是视频点播?可能你对这个名词不熟悉,但是爱奇艺,腾讯视频等这些视频播放软件想必你肯定知道。没错,视频点播就是在线观看某个视频。额,视频直播?这个就不解释了吧,美女直播,游戏直播等等,哈哈。首先我们看如何实现视频点播,视频点播支持flv文件及H264编码视频,ACC编码音频的mp4文件: 第一步,创建单独的目
2017-02-06 23:40:22
9897
1
原创 python实现obj模型的归一化
作者:石炜贤&曾翔钰归一化,个人理解就是将数据范围映射到另一个更小的范围。比如,我们即将要说到的obj模型的归一化,原始的数据坐标范围是-100多到+100多,这里我要将它归一化到-1~1的范围。具体步骤如下:读取每个点的信息,计算这个模型的包围盒(好吧,其实就是找到这个模型最小的x,y,z和最大的x,y,z。注意,这里不是最小的点和最大的点的坐标。) def get_bounding_box(
2016-12-10 22:59:09
4655
5
原创 java实现获取鼠标在屏幕上的坐标
本篇博客其实没什么难度可言,在这里分享给大家,是因为有时候我们需要这个工具,java作为跨平台语言的优势在这个软件就可以体现出来,不需修改就可以在windows、mac、linux上使用这个软件。这个小工具主要是使用MouseInfo类实时获取鼠标的信息,然后再JDialog上显示出来。代码如下:package test;import java.awt.BorderLayout;import ja
2016-12-07 14:52:49
24364
4
原创 blender源码编译——(win10,VS2015环境)
最近在搞一个ABF算法,于是想编译了一个实现了ABF算法的开源软件——blender。但是,因为官网上的步骤不够详细,好几天都没有搞定。现在,满怀激动之情的我为大家分享一下我的编译步骤。不得不说,国内目前还找不到成功将blender源码成可运行文件的教程。先谢谢国外的这篇博客:http://blog.machinimatrix.org/building-blender/ 。这是英文的,用的是V...
2016-12-02 16:26:48
13385
11
原创 ubuntu下使用C++生成cifar10二进制格式的数据
作者:石炜贤&曾翔钰注:本篇博客代码需要使用opencv,如果还没配置,可以参照这篇博客: http://blog.youkuaiyun.com/code_better/article/details/53287587学习了tensorflow后我们知道,tensorflow中训练卷积神经网络用的数据是cifar-10的bin版本的。可是我们手上有的只是一堆图片,那我们如何才能将其转化为这种格式的数据呢?在c
2016-11-22 19:21:38
3012
原创 ubuntu下搭建配置opencv环境(适用于Python和C++)
最近搞图像方面的机器学习,需要用到opencv,没想到为Python配置opencv出现了不少问题,今天分享给大家我的正确配置方式。首先,我们需要先安装一些依赖库:sudo apt-get install build-essential cmake libgtk2.0-dev libtiff4-dev libjasper-dev libavformat-dev libswscale-dev lib
2016-11-22 16:48:46
10623
1
原创 Python实现图片与数组的转化
作者:石炜贤&曾翔钰cifar-10这个数据相信很多接触过机器学习的人都肯定有所了解。今天,我们通过cifar-10存储将图片转化为可训练数据的思路将我们自己的图片转化为Python格式的数据。本篇文章主要实现两个功能: ①图片转化为数组并存为二进制文件; ②从二进制文件中读取数据并重新恢复为图片图片大小为32*32。现在我们来聊聊步骤: ①图片转化为数组并存为二进制文件: 1.使
2016-11-20 19:04:08
65682
2
原创 python引入不同文件夹下的自定义模块
初学Python,这个问题搞了我好久,现在来分享下我的解决思路,希望可以帮到大家。先说下python引入模块的顺序:首先现在当前文件夹下查找,如果没有找到则查找Python系统变量中的模块。所以说,当我们引入同一个文件夹下的自定义模块时,可以很顺利的引入而不会报错。那么问题来了,不同文件夹下的呢?也用一样的方法吗?举个栗子: 现在我们想在subPack1文件下的module_1.py中引入subP
2016-11-07 12:56:20
11503
原创 python之if __name__=='__main__'解析
相信不少python初学者都会对if __name__ == '__main__':这句话感到疑惑,没错,我也是。让我们来探讨探讨,查了网上的一些资料,以下总结一波:首先,我们知道每一个python文件(.py)都有两种作用①直接运行;②作为模块被别的.py文件引入
2016-11-03 14:17:00
2482
原创 解决python2.7中文报错问题
python2.7在windows系统上会因编码问题报错(即使只是中文注释),导致程序无法运行。在这里,我们只需在文件的头部加上这两句:#!/usr/bin/env python# -*- coding:utf-8 -*-好了,完美解决问题!
2016-11-02 15:02:50
3260
原创 "Server Tomcat v8.0 Server at localhost failed to start"问题解决方案之一
有可能是因为你在配置servlet路径时少打了一个代表根路径的/号
2016-11-01 14:36:58
1663
原创 python之map和reduce的区别
从参数方面来讲:map()函数:map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组)。其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数。reduce()函数:reduce() 第一个参数是函数,第二个是 序列(列表或元组)。但是,其函数必须接收两个参数。从对传进去的数值作用来讲:map()是将传入的函数依次作用到序列的每个元素,每个元
2016-11-01 14:29:28
8128
原创 Nachos pro1.1 join()方法修改
本文基本java版的nachos系统进行学习及修改。join函数的作用即为等待调用此函数线程运行完毕。当前线程A调用另一个线程(处于就绪状态) B的join函数时,即A执行B.join()时 (A和B在Nachos中均为KThread类型对象), A被挂起, 直到B运行结束后, join函数返回, A才能继续运行。如果这个线程已经结束,马上返回。且join()函数只能被调用一次,第二次调用不能
2016-10-16 16:12:10
1497
原创 Android Studio使用Butterknife时出现空指针问题解决
最近想学学android的一些新框架,先拿butterknife试试手。运行时组件使用时报空指针错误,找了好多篇博客,最后自己试了好久才解决问题。主要问题就是导入时配置没有完全,我们只要修改gradle文件即可(目前butterknife最新版本为8.4.0):圈出来的这几部分就是gradle文件需要添加的地方,建议大家使用最新版本的butterknife,不然还是会报
2016-09-09 23:17:07
7369
原创 C#使用Litjson构建json数据
首先我们知道json数据有两种格式:1.JsonObject2.JsonArray现在,我们要构建这样格式的json数据:{"api":"app.create","params":[{"name":"hillsidewatchers","description":"dess"}]}listjson中使用JsonData来声明一个Json对象,声明之后我们需要指定这个对象是J
2016-08-24 19:58:53
5918
原创 vuforia unity实现相机自动聚焦
先上代码,写一个C#脚本:using UnityEngine;using System.Collections;namespace Vuforia{ public class focus : MonoBehaviour { // Use this for initialization void Start() {
2016-08-22 19:11:36
2616
原创 android openGL ES 20 投影、相机画等边三角形和正方形
本文参照:http://hukai.me/android-training-course-in-chinese/graphics/opengl/projection.html 投影(Projection):投影会基于显示出来的GLSurfaceView的长和宽,来调整绘图对象的坐标。如果没有投影计算,那么用OpenGL ES绘制的对象会由于其长宽比例和View窗口比例的不一致而发生形变。 发生
2016-08-02 14:34:18
2161
原创 Android openGL ES 2.0入门--画三角形、正方形
因为最近的项目需要用到openGL ES 2.0,折腾了半天,查了网上一大堆资料,都没找到系统的openGL ES 2.0的学习资料。经过这半天,总算自己写了一个可以画出三角形和正方形的代码,顺便对网上一堆的代码封装了下。嗯,开始说吧。首先感谢这篇教程:http://hukai.me/android-training-course-in-chinese/graphics/opengl/en
2016-08-01 21:46:35
4478
1
原创 JS数组实现队列和堆栈
JS分别为队列和堆栈的实现提供了两个函数。队列实现:shift() : 删除集合中第一个元素,并返回这个元素的值unshift() :在集合开头添加新元素(一个或多个均可),并返回新的集合的长度堆栈实现:pop() :删除集合的最后一个元素,并返回元素的值push() :将元素添加到集合的结尾
2016-07-26 20:27:42
2368
翻译 lodash常用函数解释
_.assign(object, [sources], [customizer], [thisArg])object :目标对象sources :可选,源对象customizer :可选,自定义函数的值thisArg :绑定的编辑器返回值: 对象例子:_.assign({ 'user': 'barney' }, { 'age': 40 },
2016-07-23 22:00:50
4309
原创 html和body之间空白解决
前一段时间开始学习前端方面的知识,在写网页的时候发现html和body标签之间的空白死活都去不掉,查了很多资料说 html,body { margin: 0; padding: 0; } ,但是试了并不行,可能还有其他标签的影响。因为许多标签都有默认的margin和padding,因此我们在html
2016-07-20 11:23:39
8467
3
原创 node.js之lodash介绍
lodash是一个具有一致接口、模块化、高性能等特性的javascript工具库,是underscore.js的fork,其最初目标也是“一致的跨浏览器行为。。。,并改善性能”。lodash采用延迟计算,意味着我们的链式方法在显式或者隐式的value()调用之前是不会执行的,因此lodash可以进行shortcut(捷径) fusion(融合)这样的优化,通过合并链式大大降低迭代的次数,从而大
2016-07-18 21:31:08
9000
原创 node.js之Promise初见
在node.js中,回调函数的多重嵌套可能会导致代码难以维护。因此,我们借助Promise来封装异步函数,使用统一的链式API来避免函数不断的嵌套匿名函数,脱离这多重回调的麻烦,使代码可读性更强。简单来说,Promise就是把函数的嵌套改成了并列,使其代码更友好。Promise对象一般有三种状态:Pending(未完成),Fulfilled(操作成功),Rejected(操作失败)说说
2016-07-18 20:29:26
456
原创 变量命名规范
最近在学习《代码整洁之道》这本书,感觉受益匪浅,好了,长话短说,哈哈。命名规范:1.名副其实变量的名称应该能够告诉你它要表达的意思,如果名称需要注释来补充,那就不算是名副其实。例:int d; //消逝的时间,以日计 PK int elapsedTimeInDays; 很明显,在以后的使用中,我们根本不知道d是什么意思(当然了,如果不懂单词什么意思的话也不
2016-06-06 22:54:57
623
原创 C/C++函数指针与指针函数区别
指针函数:带指针的函数,本质是函数;函数指针:指向函数的指针,本质是指针。1.指针函数 指针函数本质是函数,指的是带指针的函数,即返回值是一种指针。 类型标识符 *函数名(参数列表) int *f(a,b,c); 指针函数一定有返回值,并且返回值是地址值(也就是指针),必须用相同类型
2016-05-20 16:47:29
616
原创 leetcode之Add Digits
最近在做leetcode上面的题目(官网网址:https://leetcode.com/),记录下自己的思路。本题网址:https://leetcode.com/problems/add-digits/题目:Given a non-negative integer num, repeatedly add all its digits until the result has onl
2016-04-26 21:30:28
565
哈夫曼编/译码器
2016-03-07
长整数的代数计算 算法
2016-03-07
librtmp_src_builder
2015-11-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人