自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

神兽乌鸦

学习是一种信仰!

  • 博客(60)
  • 资源 (16)

原创 Colab在线解压Google Driver上的zip压缩文件

今天才发现可以用Google的Colaboratory可以训练pytorch神经网络,真的太高兴了,这样就可以解决我渣渣的电脑没有GPU,无法训练大型神经网络的问题了。但是由于需要上传本地训练数据,很不方便,所以我就打算把本地数据打zip包上传到Google云盘,然后再在colab上用命令行下载解压过来训练,找了半天才找到办法,这里记录一下吧,主要代码如下:# 首先安装googledrivedownloaderpip install googledrivedownloader#接着下载解压from

2020-05-20 15:36:48 2110 1

原创 Android设备上部署Pytorch,实现性别识别,男女分类

上一篇文章《pytorch实现性别识别,男人女人分类器》我们用pytorch实现了性别识别神经网络的训练和测试,这篇文章我们来介绍如何把训练好的模型迁移到Android设备上。一、Android上引入pytorch在app module下的build.gradle上加上 implementation 'org.pytorch:pytorch_android:1.3.0' im...

2020-04-24 15:56:40 484 2

原创 Pytorch实现性别识别,男女分类

本篇博文纯粹是作为一个记录,不会讲得太清楚,但是本人亲自运行验证,损失率达到了0.001,还比较满意,毕竟这是我的第一个机器识别程序。先看看项目目录:其中net.pkl和net_params.pkl是训练后保存的模型数据,data文件夹下放有训练用的数据和测试数据训练的数据我是从这里下载的训练数据下载接下来是训练用到的代码:#encoding=utf-8import torchi...

2020-04-23 14:28:30 522

原创 opencv学习(五)缩放平移旋转

import cv2import numpy as npimg = cv2.imread("logo.jpg")cv2.imshow("org", img)#####################缩放############################# 方式1,通过设置缩放因子来缩放res1 = cv2.resize(img, None, fx=2, fy=2, inte...

2019-08-16 15:01:52 381

原创 opencv学习(四)提取图片中的指定颜色

我们的目标是提取下面这张图片的红色区块最终结果如下:源代码如下:import cv2import numpy as npimg = cv2.imread("E:\\demo\\python\\venv\\Include\\image02.jpg")#转到HSVhsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)print(hsv)#设置阈...

2019-08-09 10:03:08 3245 1

原创 opencv学习(三)图像的运算

import cv2import numpy as npfrom matplotlib import pyplot as pltimg = cv2.imread("E:\\demo\\python\\venv\\Include\\img1.png")imgv2 = cv2.imread("E:\\demo\\python\\venv\\Include\\img1.png")logo =...

2019-08-08 15:34:07 66

原创 opencv学习(二)图像属性的基本操作

import cv2import numpy as npfrom matplotlib import pyplot as pltimg = cv2.imread("E:\\demo\\python\\venv\\Include\\img1.png")# 获取[100,100]的像素值px = img[100,100]print(px)# 获取某一个点的BGR值中的Bblue ...

2019-07-10 16:16:51 171

原创 opencv学习(一)基本操作

import numpy as npimport cv2# Create a black imageimg = np.zeros((512,512,3), np.uint8)# Draw a diagonal blue line with thickness of 5 pxcv2.line(img,(0,0),(511,511),(255,0,0),5)# 绘制矩形cv2.rec...

2019-07-10 16:15:34 96

原创 Android NDK开发记录

一、创建项目出错如果创建项目的时候报错External Native Build Issues: Error configuring就把工程目录下的build.gradle版本号改为3.2.1,如下:dependencies {classpath 'com.android.tools.build:gradle:3.2.1'}二、导出so包只需要rebuild project就可以在...

2019-06-27 11:29:27 78

原创 TensorFlow入门教程(1)

TensorFlow的基本概念一、TensorFlow的结构如上图,TensorFlow由Tensor、operation、session、variable等组成,其中Tensor表示数据,operation表示操作(例如加减乘除),所有的流程图Graph都由Session来启动,variable表示变量。上面的流程图表示,首先喂入Tensor数据到operation中,然后又产生新的Te...

2019-04-17 20:50:46 70

原创 什么是凸函数和凹函数

2018-12-01 10:20:52 12697 6

原创 TensorFlow学习(11)——卷积神经网络

import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data# ====================一、载入训练数据==============================mnist = input_data.read_data_sets("../MNIST_data", one...

2018-10-31 14:19:21 162

原创 TensorFlow学习(10)——tensorboard scalar的使用

import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data# 第一步、载入训练数据mnist = input_data.read_data_sets(train_dir="../MNIST_data", one_hot=True)# 设置批次大小batch_size = 5 # ...

2018-10-30 12:00:05 1055

原创 TensorFlow学习(9)——tensorboard name_scope的使用

import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data# 第一步、载入训练数据mnist = input_data.read_data_sets(train_dir="../MNIST_data", one_hot=True)# 设置批次大小batch_size = 5 # ...

2018-10-30 11:59:02 219

原创 TensorFlow学习(8)——Dropout的使用

import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data# 第一步、载入训练数据mnist = input_data.read_data_sets(train_dir="../MNIST_data", one_hot=True)# 设置批次大小batch_size = 10 #...

2018-10-30 11:57:49 2351

原创 TensorFlow学习(7)——增加隐藏层优化mnist手写识别

import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data# 第一步、载入训练数据mnist = input_data.read_data_sets(train_dir="../MNIST_data", one_hot=True)# 设置批次大小batch_size = 10 #...

2018-10-30 11:55:38 483

原创 TensorFlow学习(6)——简单的mnist手写识别

import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data# 第一步、载入训练数据mnist = input_data.read_data_sets(train_dir="../MNIST_data", one_hot=True)# 设置批次大小batch_size = 5 # ...

2018-10-30 11:54:38 75

原创 TensorFlow学习(5)——线性回归

import tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt# =======================第一步、样本======================================# 从-0.5到0.5之间生成200个随机点(现在只是一个一维的数据)# 但是我们需要用到的是二维的数据因...

2018-10-30 11:53:17 125

原创 TensorFlow学习(4)——TensorFlow的简单使用

import tensorflow as tfimport numpy as np# 在这个例子中,我们的目标就是要找到合适的b和k,使得该线性模型能够把上面的样本给表示出来# 第一、使用Numpy生成一百个随机点,这就是样本x_data = np.random.rand(100)y_data = x_data*0.1 + 0.2# 第二、构造一个线性模型b = tf.Va...

2018-10-30 11:51:21 92

原创 TensorFlow学习(3)——Fetch和Feed的使用

import tensorflow as tf# ===========Fetch============input1 = tf.constant(3.0)input2 = tf.constant(2.0)input3 = tf.constant(5.0)add = tf.add(input2, input3)mul = tf.multiply(input1, add)sub =...

2018-10-30 11:49:45 127

原创 TensorFlow学习(2)——变量的使用

import tensorflow as tf# 定义一个变量x = tf.Variable([1,2])# 定义一个常量a = tf.constant([3,3])# 定义一个减法的opsub = tf.subtract(x,a)# 定义一个加法opadd = tf.add(x,sub)# 初始化所有变量,这一步很重要init = tf.global_variables_...

2018-10-30 11:48:00 90

原创 TensorFlow学习(1)——创建图和启动图

import tensorflow as tf# 创建一个一行两列的常量op(向量)m1 = tf.constant([[3, 3]])# 创建两行一列的矩阵opm2 = tf.constant([[2], [3]])# 创建一个矩阵乘法的opproduct = tf.matmul(m1, m2)# 输出print(product)# 定义一个绘画启动一个默认的Session...

2018-10-30 11:47:13 214

原创 TensorFlow常用优化器性能对比,以及各自优缺点

首先说明,本文不深入研究优化器的内部数学原理,只给出最终的结论。性能对比TensorFlow中提供了如下的对的优化器:tf.train.Optimizertf.train.GradientDescentOptimizertf.train.AdadeltaOptimizertf.train.AdagtadOptimizertf.train.AdagradDAOptimizertf.t...

2018-10-26 16:29:51 2099

原创 防止过拟合的方法

防止过拟合的方法:增加数据集出现过拟合的情况大部分是因为数据量过少,然而神经网络太过于复杂,所以增加数据集是十分有利于防止过拟合的。正则化方法C=C0+λ2n∑ww2C=C_0 +\frac{ \lambda }{2n} \sum_{w}w^2C=C0​+2nλ​∑w​w2:C0C_0C0​就是原来的代价函数,现在我们在代价函数上增加一个正则化项λ2n∑ww2\frac{ \lambda...

2018-10-25 16:22:54 90

原创 二次代价函数、交叉熵代价函数、对数似然代价函数的应用场景

二次代价函数的局限性首先来说一下二次代价函数的局限性,看下面这张图:假设现在使用的激活函数是sigmoid,并且代价函数是二次代价函数,我们收敛得目标是1,那么A点的梯度比较大,B点由于离目标比较近梯度小,所以是合理的;但是如果我们的收敛目标是0,那么A点离目标比较近,所以梯度应该要小于B点,但是图中明明是A点的梯度大于B点,这是不合理的。交叉熵正式由于二次大家函数的这个局限性,我们需要...

2018-10-25 11:43:40 1434

原创 机器学习中权值W和偏导b与激活函数的关系

在机器学习中,我们经常会用到线性回归:y = Wx+b我们也会用到损失函数,损失函数的公式如下图:通过观察上面的式子我们发现,激活函数 σ\sigmaσ 包含着线性函数 Wx+b,这个时候损失函数就和权值W和偏置值b联系起来了。接着我们队损失函数的W和b分别进行求导:就像图中所说的,W和b的梯度跟激活函数的梯度成正比,激活函数的梯度越大,则w和b的大小调整得越快,训练收敛得越快。所以...

2018-10-25 10:58:24 1346 1

原创 TensorFlow定义隐藏层的方法

最近在学习TensorFlow,跟着教程敲了很多代码,但是也只是仅仅跟着敲,虽然也写过简单的隐藏层,但是真正要自己敲一个隐藏层还是感觉一脸懵逼,于是就有了这篇简短的博客。初学者在写隐藏层的时候通常会遇到以下两个疑问:不知道如何设置张量的维度不知道该选什么激活函数设置隐藏层维度观察下面这段关于mnist手写识别数字的代码:# 第二步、定义神经网络模型# 输入层x = tf.pla...

2018-10-24 17:05:32 2323

原创 TensorFlow中random_normal和truncated_normal的区别

区别如下:tf.random_normal() 正太分布随机数,均值mean,标准差stddevtf.truncated_normal() 截断正态分布随机数,均值mean,标准差stddev,不过只保留[mean-2stddev,mean+2stddev]范围内的随机数那么什么是正太分布呢?看下面这张图,就是正太分布的直观图:好了看完上面这张图,我们就可以理解什么是rando...

2018-10-24 14:52:54 1350

原创 Anaconda无法找到.jupyter文件的解决办法

安装Anaconda后我们打开主目录一般会看到全部文件,如下:在这里不小心你可能会删掉一些文件,那非常不安全,所以我们要更改一下打开目录。配置路目录一般在C:/用户/用户名/.jupyter/下,但是我怎么都找不到,所以这里还有一些坑。那么要如何解决呢?其实很简单,但是网上有很多错误的教程,以下是我的解决办法:打开Anaconda Prompt输jupyter notebook–g...

2018-10-21 14:01:51 4730

原创 Python3学习(3)——循环与迭代

在Python中循环的方式比较奇异,和Java有点不同,比如for循环:languages = ["C", "C++", "Perl", "Python"] for x in languages: print (x) #输出结果如下:CC++PerlPython还有另一个循环 range(),该函数可以对数字进行循环:

2018-09-26 17:03:34 443

原创 TensorFlow学习(4)——Pandas的基本用法

TensorFlow框架概览以下是TensorFlow的架构体系:我们一般用到的是 TensorFlow Estimators层,该层相对比较容易,易于入手,本学习大部分内容也都是介绍Estimator层的使用。随着应用的熟练,我们可以逐步往下学习,自定义编程更加灵活轻便。现在先给一个例子,让你看看TensorFlow是如何使用线性回归分析得:import tensorflow as t...

2018-09-20 11:40:59 1583

原创 TensorFlow学习(5)——TensorFlow的基本使用

在上一节我们学了损失的概念,这一节我们就来学习如何减少损失。通过迭代方法降低损失下面是迭代流程图:假设我们的模型是y′=b+w1x1y'=b+w_1x_1y′=b+w1​x1​,现在我们的目标就是找到合适的www,最开始我们假设 w1=0,b=0w_1=0,b=0w1​=0,b=0 ,然后执行预测,并计算损失。接着我们更新w=0.5,b=0w=0.5,b=0w=0.5,...

2018-09-18 17:31:08 212

原创 Python3学习(2)——脚本编译、注解、运算符

脚本编译我们刚安装完Python的时候运行代码都是通过命令行运行的,这样子非常麻烦,所以我们要把代码写在文件中,这样运行起来就非常方便了(方法适用Windows平台):首先把代码print ("Hello, Python!");写在文件hello.py中然后在命令行输入python3 hello.py就可以运行了注解单行注解 :# 这是一个注释print("Hello,...

2018-09-18 14:44:31 100

原创 TensorFlow学习(2)——线性回归、训练和损失

线性回归很多数学不是太好的同学一听到线性回归这么高级的名词往往望而却步,很多东西只要深入学习并没有看起来那么可怕。那么何为线性回归呢?其实就是我们初中学到的直线方程,还记得不?记不起来也不要紧,瞄一眼下图你必能唤回当年那痛苦的记忆!哈哈没想到吧,当年最讨厌数学的我,以为买菜用不到那么多数学知识,现在居然用到了。那么这么一条直线方程跟我们机器学习有什么关系呢?假设我们要分析蟋蟀的鸣叫声与温...

2018-09-18 14:18:23 574

原创 TensorFlow学习(1)—— 在Windows上安装 TensorFlow

之前我一直不知道TensorFlow也支持Windows环境,今天亲自登录官网才得知,害得我还自己去Linux下搭建环境。本人不怎么熟悉Linux,所以还是乖乖用Windows吧。下面开始进入正式内容:TensorFlow官方中文安装教程:https://www.tensorflow.org/install/install_windows?hl=zh-cn,你也可以直接去看官方教程,可能需要翻...

2018-09-14 15:43:18 168

原创 手把手教你在Linux环境下安装Python3

在上一篇文章《手把手教你启用Win10的Linux子系统(超详细)》我们已经学了如何在Win10环境下装Linux子系统了,那么这一篇文章我们将学习如何在该Linux系统下安装Python3。首先是按Win+R键调出cmd命令窗口,然后输入输入bash指令进入Ubuntu系统,接着就可以进入正式的安装过程了。第一步、下载Python3 输入下载命令:wget https://w...

2018-09-13 15:11:27 83801 28

原创 手把手教你启用Win10的Linux子系统(超详细)

今天为大家介绍如何才能启用Windows10下的Linux子系统,废话不多说,直接看步骤:启用开发者模式打开设置 点击更新和安全 点击开发者选项 启用开发人员模式 更改系统功能使用win+X快捷键调出系统管理菜单后点击应用和功能,然后拉到底下,选择程序和功能 选中应用或关闭Windows功能 勾选适用于Linux的Windows子系统,然后确认并重启...

2018-09-12 16:40:40 247242 57

原创 Python3学习(1)——基本数据类型

Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python 中,变量就是变量,它没有类型,我们所说的”类型”是变量所指的内存中对象的类型。示例如下:#!/usr/bin/python3counter = 100 # 整型变量miles = 1000.0 # 浮点型变量name = "runoo...

2018-09-12 11:23:52 158

原创 林轩田机器学习基石笔记(第27节)——VC Dimension of Perceptrons

一、复习2D PLA算法如下图所示,左边红色部分表示如果数据集DDD是线性可分的情况下,PLA算法最终会停下来,我们会得到一条能够把所有数据都二分为两类的线段,该线段能够保证在已知的数据上犯错的概率为0,即Ein(g)=0Ein(g)=0E_{in}(g)=0。 图中右边部分,则通过霍夫丁不等式从侧面证明了如果我们数据量够大,并且dVCdVCd_{VC}已知的情况下,我们可以保证Ein(g)...

2018-09-09 12:12:19 258

原创 林轩田机器学习基石笔记(第8节)——PLA循环停止条件的探讨

引言第7节我们讨论了如何找到一条线把所有的圈圈叉叉都分在不同的两边,但是其实有一个隐含的大前提,那就是圈圈叉叉的分布必须是线性可分的,如下第1张图。如果是线性不可分那么,如下第2、3张图是无法用PLA算法把圈圈叉叉分开的。 本节课我们就讨论在线性可分的前提之下,PLA循环什么时候才能终止。初步论证我们知道,如果yn(t)≠sign(WTtXn(t))yn(t)≠sign(WtTX...

2018-09-05 17:22:23 143

push(实现消息推送)

实现了服务器向客户端推送消息,包含服务器端和客户端,本人亲测可用。

2014-09-29

小米文件管理器

最优秀的开源文件管理工具,非常值得借鉴!

2014-09-29

高仿今日头条

高仿今日头条的源码,写得很好,本人亲测可用。

2014-09-29

webservice标准示例,实现号码归属地的查询

我第一次使用webservice传输数据的时候用来参考的例子,里面代码很清晰,适合做参考,而且实现了号码归属地的查询,代码简洁。

2013-08-15

android下拉刷新功能

实现下拉刷新列表的功能,开发的时候用到,经验证,可以使用。

2013-08-15

实现类似QQ的好友列表展示,列表有头像、文字

使用ExpandableListView实现了类是QQ好友列表的功能,我开发的时候用到的,经过验证,可以使用,希望对大家有帮助。

2013-08-15

android图案解锁源码

本源码是一个图案解锁源码,我已经通过测试,用起来很好,在此分享给大家!愿我们共同进步!

2013-06-03

Java调用C的例子

一个很实用的例子,入果哪位朋友要实现Java调用C就进来看看吧,这是在开发的时候用到的,当时找了蛮久的,现在奉献出来,嘿嘿

2012-11-08

JBox2D(本人已经成功使用)

很好的一款android开发包,下载后导入到eclipse就可以了

2012-11-08

android多点触屏

通过这个程序我们可以很好的实现多点触屏,程序简单,实用,是我们开发游戏时经常用的

2012-09-20

Android Tab页面手势滑动切换

Android Tab页面手势滑动切换以及动画效果

2012-09-19

撕衣服游戏源码

实现撕衣服的效果,希望大家能有所启发!我找了很久的,也运行通过了

2012-09-19

整理出来的一些Android基础知识

整理出来的一些Android基础知识

2012-07-03

Android上部署pytorch实现拍照性别识别

本项目是一个Android项目,该项目实现了Android上部署pytorch实现拍照性别识别。亲自运行,可用,希望帮助到大家

2020-04-24

pytorch性别识别.pt模型

这是我写性别识别demo训练出来的模型,大家可以下载使用。本人亲自迁移到Android设备,完全没有问题。

2020-04-24

swing-worker-1.1.jar

draw9patch.bat打不开的解决办法

2015-10-26

空空如也

空空如也
提示
确定要删除当前文章?
取消 删除