![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
Fang Suk
久居深巷、独忆易人
展开
-
python迭代器和生成器
容器和迭代部分引自老猿python,写的很赞!感谢一、容器容器就是把多个数据类型组织到一起的数据结构。如python内置数据类型list,dict,tuple等。容器仅仅只是用来存取数据的,不具备取出操作功能。正是可迭代对象赋予容器这种能力。迭代的取出数据,不断拿出下一个元素。二、什么是迭代。迭代不同于循环,迭代指重复进行某种操作,并且当前操作依赖于上次操作(如版本迭代,模型...原创 2020-04-01 16:57:31 · 174 阅读 · 0 评论 -
Pytorch各种取样器sample
测试了pytorch的三种取样器用法。一:概念Sample:取样器是在某一个数据集合上,按照某种策略进行取样。常见的策略包括顺序取样,随机取样(个样本等概率),随机取样(赋予个样本不同的概率)。以上三个策略都有放回和不放回两种方式。TensorDataset:对多个数据列表进行简单包装。就是用一个更大的list将多个不同类型的list数据进行简单包装。代码如下:class...原创 2020-03-30 17:06:30 · 8331 阅读 · 0 评论 -
pycharm 远程连接报错
pycharm远程连接报错:Error running 'train': While creating remote tunnel for SshjSshConnection(<crc32=zb65bg>@<crc32=1ljowo7>)@18ad558d: localhost:63342 <== localhost:63342进行下面操作后正常:点击Hel...原创 2019-10-15 17:01:54 · 5280 阅读 · 17 评论 -
keras 数据读取几种方式
keras数据读取(图像数据)的方式,可以不使用keras的方法而使用opencv或者pil直接读取做处理。这里主要总结了keras封装的几种图像数据读取方法,一、keras.preprocessing.image.load_img()读取单张图像1)load_img()指定图像路径读取图像,看源码可知就是对pil的简单封装,使用PIL.mage.open()读取def load_i...原创 2019-06-05 16:12:16 · 15487 阅读 · 2 评论 -
Tensorflow中TFRecord数据格式
一 简介 为解决数据来源的复杂性(各数据集的数据格式各不相同),Tensorflow使用TFRecord格式来统一输入数据的格式。 TFRecord是一种将图像数据和标签放在一起的二进制文件,能更好的利用内存,在tensorflow中快速的复制,移动,读取,存储二 TFRecord文件中的数据格式是通过Proto Buffer定义的 Proto Buffer的...原创 2018-05-31 14:48:31 · 754 阅读 · 0 评论 -
opencv图像resize的不同方式
opencv图像resize的不同方式cv2.resize(src, dsize, dst, fx, fy, interpolation)详见:http://www.cnblogs.com/jyxbk/p/7651241.html转载 2019-05-14 20:41:02 · 866 阅读 · 0 评论 -
opencv-python 中文显示在图像上
opencv-python 中文显示在图像上opencv只能在图像上输出英文字符,不支持汉字。可以和PIL一起使用实现在图像上输出中文。结合使用时注意一下几点:1)opencv读取图像后图像颜色通道是BGR排列的,而PIL读取的图像是RGB排列的。要注意图像颜色通道排列的转化cv2.cvtColor(img, cv2.COLOR_BGR2RGB)。2)opencv读取完图像存储格式是n...原创 2019-04-19 13:13:57 · 13822 阅读 · 0 评论 -
Python 文件读写txt,csv,hdf5,xml ,xls文件
记录下一些常用的Python文件读取的用法,一 Python读取xmlxml 类似文件目录,可理解为树状数据结构,其中每个节点有子节点,属性和test信息(1)读取①对该节点的操作,获取该node包含的信息node.tag 返回节点名称 node.contrib 节点的属性 node.text 该节点包含的内容,可以是int,string数据,或者是子节点②对该...原创 2018-08-02 17:10:28 · 1408 阅读 · 0 评论 -
tensorflow版本对应cuda,cudnn版本官方文档
linux下:截止2019.6.6号tensorflow版本对应的python版本,编译器版本。cuda,cudnn版本,如下windos,macos及更新的版本对应信息可直接查看官方文档原创 2019-06-06 16:15:09 · 5996 阅读 · 1 评论 -
keras断点训练
有时模型训练时间过长,如遇到训练异常中断或者想调整超参,需要继续上次训练而不是重头开始。这里参照tf-slim的理念实现一种keras断点训练的功能:在做fine-tune时,如果保存模型路径中没有已保存的模型参数,则从google预训练模型中恢复参数,如果保存模型路径中有已保存的模型参数(之前已经训练过),则从保存的参数恢复模型参数继续上次训练。下面先总结了模型参数初始化的几种方式(有基础的...原创 2019-06-04 17:15:34 · 3387 阅读 · 4 评论 -
sklearn micro macro weight 的区别
对于多个类别在统计准确率,召回率,fi-score时,sklearn有多种方式。micro:微观的意思,统计总体数据的tp,tn,fp,fn。计算相应的评估指标macro:宏观的意思,统计各自类别的tp,tn,fp,fn。对每个类别计算相应的评估指标。在计算均值。weight:统计各自类别的tp,tn,fp,fn。对每个类别计算相应的评估指标。在计算均值时乘以各类别数据所占的权重,...原创 2019-06-20 17:56:55 · 3017 阅读 · 0 评论 -
交叉熵的深度理解
推荐博客一文搞懂交叉熵在机器学习中的使用,写的非常透彻转载 2019-06-24 16:23:18 · 261 阅读 · 0 评论 -
Machine Learning学习---K-NN算法实现
一、KNN算法原理K近邻是一种基本的分类和回归方法。原理是根据其k个最近邻的训练实例的类别,通过多数表决的方式进行预测。K近邻不具备显示的学习过程。在预测时只是在训练集中找最接近的K个样本进行预测。所以k近邻关键在于如何快速找到邻近的k个样本。尤其是特征维度大,样本数量众多的时候。kd树是进行快速查找的一种方式。二、KNN算法三要素KNN算法的三要素:距离度量方式,K值的选择,分类决策...原创 2019-06-28 19:44:59 · 334 阅读 · 0 评论 -
Machine Learning学习---感知机算法实现
前言:Machine Learning用来记录机器学习常用几种算法的学习过程,理论知识部分基本摘抄至李航大神的统计学习方法。每个算法会有自己的源码实现。优缺点总结,适用场景(后续补充)。一、感知机算法原理统计学习三要素:方法=模型+策略+算法1)模型定义感知机是用来分类的一种模型,假设x属于n维实数空间的向量,,感知机模型定义为:感知机是一种线性分类模型,属于判别模型。感知...原创 2019-06-28 20:29:59 · 748 阅读 · 0 评论 -
远程开发利器:Pycharm中使用远程Jupyter Notebook:
在远程服务器上做开发时,如本人在远程gpu服务器进行深度学习,如果在本地开发环境下开发可能会存在问题,需要保证本地开发环境与远程服务器一致。本地编辑好的程序也要拷贝到服务器。可以通过以下的几种方式直接在远程服务器环境下做开发。1、pycham远程配置主要需要配置以下两个本地文件与远程文件关联,也就是实现与远程服务器互联,在本地开发完成的文件可以一键传到远程服务器,远程服务器的文件也可一...原创 2019-08-02 21:01:09 · 22250 阅读 · 44 评论 -
jupyter notebook远程登陆配置
参考这篇博客:https://blog.csdn.net/u014636245/article/details/83652126遇到的问题:注意jupyter notebook的版本,尽可能升高点。这样才能使用自动方式生成密码。之前几次的尝试均失败,在升高jupyter notebook版本后成功。...转载 2019-07-30 21:29:08 · 327 阅读 · 0 评论 -
pycharm 一直scanning files to index
每次打开Pycharm都会一直scanning files to index,无法运行文件,这两个链接里的解决方法我都试过了,并且重新安装了好几次pycharm都不行,http://stackoverflow.com/questions/29030682/pycharm-4-0-5-hangs-on-scanning-files-to-index-background-task和http:...原创 2018-07-22 14:34:11 · 11391 阅读 · 3 评论 -
Sofrmax与交叉熵Cross_entropy总结
一 softmax 计算loss时,预测值要与真实值分布在相同的数据区间内,例如真实值在[0,1]区间内,那么网络的预测值也要在相同的区间(0,1)内;这样在计算loss是才会有较好的效果。在做二分类时,可在网络的输出层使用激活函数sigmoid(),将输出压缩在(0,1)区间,softmax可看做是对sigmoid的扩展,是用于多分类的激活函数,softmax就是将...原创 2018-07-25 14:51:41 · 2081 阅读 · 1 评论 -
python实现树及二叉树的遍历
#coding=utf-8#用列表构建树G = ['G',['H','I']]#每个列表都包含该元素和该元素的自成员H = ['H',[]]#用类构建二叉树class Btree(): def __init__(self, value): self.left = None self.data = value self.right原创 2018-02-05 15:08:49 · 264 阅读 · 0 评论 -
python 用栈和队列实现二叉树的深度优先遍历(三种)和广度优先遍历
#coding=utf-8#自定义队列class pyqueue(): def __init__(self, size): self.queue = [] self.size = size self.end = -1 def Size(self): return self.size def In原创 2018-02-06 10:20:33 · 1526 阅读 · 0 评论 -
二分查找与二叉树排序
#-*-coding=utf-8 -*-def binarysearch(list, value): low = 0 hight = len(list) - 1 key = value i = 0 while low <= hight: i += 1 mid = (low + hight) // 2 if原创 2018-02-06 13:51:58 · 490 阅读 · 0 评论 -
matpyplotlib 简单使用小结
# coding: utf-8# In[3]:from matplotlib import pyplot as pltimport numpy as np#matplotlib 是面向对象的绘图,每个元素都有一个对象与之对应#为了绘图方便,matplotlib提供matplot模块,将面向对象的绘图库包装成只使用函数的api# In[20]:get_ipython()....原创 2018-04-21 15:13:49 · 801 阅读 · 0 评论 -
data augmentation
data augmentation 几种方法总结在深度学习中,有的时候训练集不够多,或者某一类数据较少,或者为了防止过拟合,让模型更加鲁棒性,data augmentation是一个不错的选择。常见方法Color Jittering:对颜色的数据增强:图像亮度、饱和度、对比度变化(此处对色彩抖动的理解不知是否得当);PCA Jittering:首先按照RGB三个颜色通道计算均值和标准差,再在整个训...转载 2018-04-25 16:26:40 · 467 阅读 · 0 评论 -
pycaffe 中RGB图像通道变换问题
使用python对Caffe框架训练好的模型进行识别时发现通道转换的若干问题:要注意一点的就是:Caffe中彩色图像的通道是BGR格式,图像存储是【0,255】1.caffe.io.load_image方式image = caffe.io.load_image(image_file) #加载图片 使用caffe.io.load_image()读进来的是RGB格式和0~1(float)所以在进行识别...转载 2018-04-25 16:33:36 · 1089 阅读 · 0 评论 -
caffe绘制loss曲线
第一步:重定向,保存每次迭代的loss到log文件中$TOOLS/caffe train --solver=$SOLVERFILE 2>&1 |tee mycaffe.logmycaffe.log是自己起的文件名第二步:解析保存的log文件并在当前目录下生成mycaffe.log.train和mycaffe.log.test文件./tools/extra/parse_log.sh m...原创 2018-04-27 14:03:16 · 495 阅读 · 0 评论 -
Python matplotlib模块常用的简单绘图
matplotlib 是面向对象的绘图,每个元素都有一个对象与之对应为了绘图方便,matplotlib提供matplot模块,将面向对象的绘图库包装成只使用函数的api一 使用时先导入matplotlib包from matplotlib import pyplot as plt%matplotlib命令可以将matplotlib的图表直接嵌入到Notebook之中,inline...原创 2018-04-27 15:43:56 · 2607 阅读 · 0 评论 -
Python 爬虫从百度抓取图片
近期想完全自己动手实现一个deep learning的多分类任务,数据集直接用Python在网页上抓取,主要用到Python模块: -- re模块(正则表达式) -- requests模块一 用到的Python模块简介 1、 re模块 正则表达式是一种强大的用于字符串匹配的工具,很多编程语言中(包括Python)都有正则表达式的概念,就是用预先定...原创 2018-06-06 22:14:51 · 1124 阅读 · 0 评论 -
Google protocal Buffers Python API简单使用
一 简介Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或...原创 2018-05-31 14:07:01 · 563 阅读 · 0 评论 -
sys.stdout和print的区别
一 sys.stdout的形式就是print的一种默认输出格式,等于print "%VALUE%"print函数是对sys.stdout的高级封装,看下print函数的解释Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file...原创 2018-06-25 17:01:46 · 23133 阅读 · 0 评论 -
python创建多维数组的3种方式:
python创建多维数组的3种方式:#coding=utf-8import numpy as np#1image =[[(col+1)*(row+1) for col in range(5)] for row in range(3)]a = np.array(image)print(a)#2new_image =np.zeros((3,5))#3b = np.arange(1...原创 2018-06-25 22:17:47 · 19294 阅读 · 0 评论 -
Python中append和extend的区别
Python中append和extend的区别编者注:本文主要参考了《Python核心编程(第二版)》网上有很多对这两个函数的区别讲解,但我觉得都讲的不是很清楚,记忆不深刻。这样解释清楚且容易记住。list.append(object) 向列表中添加一个对象objectlist.extend(sequence) 把一个序列seq的内容添加到列表中12345music_media = ['compa...转载 2018-07-12 21:35:30 · 977 阅读 · 0 评论 -
pycaffe的RGB图像转换问题
由于做的是多标签回归问题,转的HDF5格式,发现图像转化通道问题是一个大坑以下转自:https://blog.csdn.net/u013841196/article/details/72799680使用python对Caffe框架训练好的模型进行识别时发现通道转换的若干问题:要注意一点的就是:Caffe中彩色图像的通道是BGR格式,图像存储是【0,255】1.caffe.io.load_image...转载 2018-07-06 13:33:59 · 765 阅读 · 0 评论 -
python实现栈和队列
#-*-coding=utf-8 -*-#列表实现栈class Pystack(): #类属性 name = 'leishuxing' def __init__(self, size): #实例属性 #Pystack.stack = [] #Pystack.size = sive #Pystack.top原创 2018-02-05 14:40:29 · 540 阅读 · 0 评论