自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MIss-Y的博客

爱生活,爱学习,爱一切让自己变得更美好的东西!爱MIss-Y

  • 博客(361)
  • 收藏
  • 关注

原创 使用pyinstaller打包tkinter程序

(1)如何同时打包多个python文件(2)打包过程中有缺失的包怎么处理(3)如何解决打包程序过大的问题以上三个问题是使用pyinstaller打包python文件常见的问题,我将以自己开发的一个tkinter程序来进行说明,所有操作与结果自己已经验证。如果不考虑打包程序大小的问题,可能会出现一个打包的exe程序好几百兆,甚至更大,这不仅占用资源,启动速度也比较慢,所以最好是重新创建一个比较干净的python环境要好一些。

2024-02-03 14:01:31 1201

原创 python日志记录系列教程,内置logging模块(三)——三种配置日志记录的方式

前言:python日志记录的系列文章的前面两篇文章已经介绍了,模块级别的日志记录与面向类与对象的日志记录,即:python日志记录系列教程,内置logging模块(一)——直接使用logging模块的基础日志记录python日志记录系列教程,内置logging模块(二)——logging日志进阶教程(五大核心组件)本文将在此基础之上介绍日志文件的配置方式。一、日志记录三种配置方式简介开发者可以通过三种方式配置日志记录:(1)使用调用上面列出的配置方法的 Python 代码显式创建记

2020-06-08 11:31:43 3538 1

原创 python日志记录系列教程,内置logging模块(二)——logging日志进阶教程(五大核心组件)

前言:前面的一篇文章介绍了简单的日志记录的一些操作方法,一般都是直接通过使用 logging.xxxx()的方式,这是最简单初步的日志记录,不涉及任何复杂的类和对象,但是logging日志记录本是一个非常复杂的东西,里面还会涉及到很多的概念与类,比如:记录器、处理程序、过滤器和格式化程序等概念,涉及到的类有Logger类、Handler类、Formatter类、Filter类、LogRecord类、LogAdapter类等,本文将会深入探讨它们的机制与使用方法。本篇为系列文章的第二篇。一、日志记录的核.

2020-06-08 11:08:03 2841

原创 python日志记录系列教程,内置logging模块(一)——直接使用logging模块的基础日志记录

前言:成熟的软件开发不可避免的要进行日志记录,python内置模块logging提供了强大的日志记录能力,本文将从多个角度,由浅入深的介绍logging的常见使用方法和一些基本概念,本此系列文章分为两篇,本文为系列文章第一篇,介绍实用logging模块进行基本的日志记录操作。本文主要都是直接使用 logging.xxxx()的方式,这是最简单初步的日志记录,不涉及任何复杂的类和对象,这些将会在下一篇文章中来说明。一、什么是日志记录所谓的日志记录就是对软件执行时所发生事件的一种追踪方式。软件开发人员.

2020-06-05 16:33:56 3651 1

原创 深入详解python高级特性——函数柯里化(Currying)与反柯里化

前言:本章的内容本来很简单,但是涉及到的理论部分相对较多,想要彻底弄懂前因后果需要具备以下几个知识点,(1)python的高阶函数(2)python的装饰器本质(3)Python的functools模块里面的偏函数的本质这三块类容我在之前的文章中已经有详细说明了,不再赘述,可以参考下面的连接中的文章:博客专栏分类,关于Python的各种高级特性都有说明关于functoo...

2020-06-03 17:23:18 5717 2

原创 tensorflow与python交互系列,tf.py_function()、tf.py_func、tf.numpy_function()(一)

前言:前面在介绍使用tensorflow进行data pipeline的时候,遇到了一些问题,特意整理了两篇文章,请参见:tfrecord文件的map在使用的时候所踩的坑总结(map、py_function、numpy_function)tensorflow2.x之由dataset.map引发出的关于tf.py_function以及tf.numpy_function问题本系列文章将深入详解这是哪个函数,即tf.py_function()、tf.py_func、tf.numpy_function(

2020-05-27 14:53:23 10556 2

原创 tfrecord文件的map在使用的时候所踩的坑总结(map、py_function、numpy_function)

前言:在使用tensorflow解析tfrecord文件的时候,踩过很多坑,其中一个便是关于tensor,eagertensor的坑,前面的一片文章已经有所说明,本文基于tensorflow2.1,在前面一篇文章的基础之上进行补充,前面的文章参考:tensorflow2.x之由dataset.map引发出的关于tf.py_function以及tf.numpy_function问题问题的原因分析,当输入X所对应的值是字符串的时候,比如前面文章中的文件路径,没有办法使用map直接解析,需要借助于tf.p

2020-05-27 10:45:03 2147 1

原创 tensorflow与pytorch的GPU分配与使用策略详解

前言:看了很多关于多GPU分配与使用的文章,发现很多文章都是只介绍了一些最浅显的东西,没有深入解释清楚,本文所使用的服务器上面含有4块 GTX2080Ti 的GPU。声明:深度学习框架所使用的GPU不是以GPU本身的个数和编号而言的,而是以我们本身给框架能够看见的GPU数量而言的,什么意思呢?一、关于GPU的可见性与框架使用的GPU的映射关系——device mapping(1)当不设定任何限制的时候,我们的框架可以看见4块GPU,所以在使用的时候对应的关系如下:/job:localhos

2020-05-09 15:11:49 6121

原创 tensorflow模型保存(三)——tensorflow1.x版本的savedmodel格式的模型保存与加载

前言:前面的两篇文章已经分别介绍了高层API与低层API关于各种模型的保存,比如在tensorflow2.x中如何保存checkpoint与savedmodel,在tensorflow1.x中如何保存checkpoint,本文着重介绍在tensorflow1.x版本中怎么保存savedmodel。要想恢复模型并能够正确的加载,最核心的就在于要给模型的输入与输出起一...

2020-05-06 14:19:27 15504 3

原创 tensorflow中的检查点checkpoint详解(二)——以tensorflow1.x 的模型保存与恢复为主

前言:前面专门讲解了一篇关于tensorflow2.x的文件保存,主要是介绍了两种模式,一个是keras的h5文件,一个是tensorflow专用的SavedModel(.pb文件)文件,详细请参考:详解tensorflow2.0的模型保存方法(一)本文会专门介绍tensorflow中的checkpoint,以及在tensorflow2.x以及tensorflow1.x中如何保存成chec...

2020-05-06 10:57:01 30314 8

原创 以线性回归为例,深入理解tensorflow的Operation、Tensor、Node的区别

前言:在使用tensorflow的时候,常常会被Operation、Tensor、Op_name、tensor_name等等概念搞混淆,本文专门通过一个简单的例子来深入讲解他们之间的区别于本质,并且如何在tensorboard中进行查看。一、线性回归的完整实例本文以一个两层神经网络来实现线性回归,代码如下:import tensorflow as tfimport numpy as...

2020-04-30 10:55:39 2138 2

原创 Linux中关于动态(共享)库的设置

前言:关于Linux中的动态共享库是如何使用的,程序在执行的时候是如何找到的,我们该怎么去设置,可以参考前面的几篇文章。C/C++中关于静态链接库(.a)、动态链接库(.so)的编译与使用VSCode开发C、C++环境搭建系列(二)——GCC/G++编译器对头文件、静态库、动态库的搜索路径详解本文会设计主要四个概念:/etc/ld.so.conf、/etc/ld.so.conf....

2020-04-23 14:42:47 1593

原创 C/C++中关于静态链接库(.a)、动态链接库(.so)的编译与使用

前言:关于Linux中环境的配置,编译等工作,有很多的坑,前面的一片文章中已经比较详细的介绍了GCC编译套件的一些东西,具体请参考:VSCode开发C、C++环境搭建系列(二)——GCC/G++编译器对头文件、静态库、动态库的搜索路径详解一、从动态库的编译说起下面通过一个例子来介绍如何生成一个动态库。这里有一个头文件:so_test.h,三个.c文件:test_a.c、test...

2020-04-23 11:41:35 7669

转载 numpy数组广播机制(broadcast)三原则

前言:数组广播是学习numpy和tensorflow等数学运算的基础,但是很多文章解释得不清楚,本文做一个全面的总结。Numpy的广播规则广播的前提——两个数组必须可以转化成维度大小一模一样的才可以运算:规则1:如果两个数组的维度不相同,那么小维度数组的形状将会在最左边补1.规则2:如果两个数组的形状在任何一个维度上都不匹配,那么数组的形状会沿着维度为1扩展以匹配另外一个数组的形状。规...

2020-04-21 14:30:20 2901 2

原创 python字符串格式化深入详解(四种方法)

前言:本文详细整理了python字符串格式化的几种方式。一、使用 % 符号来进行格式化格式符为真实值预留位置,并控制显示的格式。格式符可以包含有一个类型码,用以控制显示的类型,如下:%s 字符串 (采用str()的显示)%r 字符串 (采用repr()的显示)%c 单个字符%b 二进制整数%d 十进制整数%i 十进制整数%o...

2020-04-21 11:05:11 53054 9

原创 TensorFlow(2.x版本,1.x版本)以及pytorch版本中关于GPU的信息查看以及GPU的配置问题

前言:我们一般使用深度学习框架都是GPU版本的,如何检测我们的安装是否成功,GPU、CUDA、CUDNN等信息呢?本文做了一个归纳总结:一、tensorflow版本的GPU信息查看(1)tensorflow版本tf.__version__ tensorflow版本tf.__xxxxx__ 一些信息的查看tf.verison.xxxx 一些信息tf.te...

2020-04-14 17:50:35 2098

原创 详解tensorflow2.0的模型保存方法(一)

前言:tensorflow2.0中有很多种模型保存方法,为了做一个统一的比较,本文做一个归纳总结,加之自己在这上面踩过很多的坑,现在感觉做一个总结实在是有必要。因为tensorflow创建模型的方式很多,包括Sequence、Model、SubClass Model,我们可以保存所有的模型,也可以仅仅保存权重。本文为系列文章第一篇,介绍各种模型保存方法,后面还会介绍checkpoint以及Sa...

2020-04-14 11:47:15 30716 4

原创 tensorflow2.x个人学习笔记以及tensorflow踩坑日记

前言:下面整理了tensorflow2.x学习的过程中自己整理的一些笔记,后续会不断的更新一、服务器端的tensorboard文件如何在本地浏览器中查看(1)第一步:登录服务器:——使用SSH登录在本地计算机使用先用ssh工具重定向:ssh -L 16006:127.0.0.1:6006 name@server_ip -p 22 # 你的用户名name和ip 有的服务器做了端口...

2020-04-02 17:52:25 3782 6

原创 tensorflow2.x之由dataset.map引发出的关于tf.py_function以及tf.numpy_function问题

前言:tensorflow是一个庞大的系统,里面的函数很多,实现了很多常规的一些操作,但是始终没有办法涵盖所有的操作,有时候我们需要定义一些自己的操作逻辑来实现制定的功能,发现没那么简单,本文是在编写tf.data.DataSet的时候出现的一个问题,做了一个集中化的总结,会涉及到以下概念:EagerTensor和Tensor,tf.py_function以及tf.numpy_function...

2020-04-01 17:16:46 7406 9

原创 TensorFlow的数据pipeline系列:使用dataset结合Example和SequenceExample协议的解析方法比较(四)

前言:本文详细介绍tf.train.Example和tf.train.SequenceExample的区别,前面的几篇文章参见:tensorflow的Data Pipeline系列教程(一)——Dataset类的属性即常用方法TensorFlow的数据pipeline系列:Datasets+TFRecord的数据导入(二)TensorFlow之tfrecords文件详细教程Tens...

2020-03-27 11:58:09 3364 3

原创 TensorFlow的数据pipeline系列:tf.train.Example和tf.train.SequenceExample协议的比较(三)

前言:本文详细介绍tf.train.Example和tf.train.SequenceExample的区别,前面的几篇文章参见:tensorflow的Data Pipeline系列教程(一)——Dataset类的属性即常用方法TensorFlow的数据pipeline系列:Datasets+TFRecord的数据导入(二)TensorFlow之tfrecords文件详细教程一、tf...

2020-03-25 17:04:23 4102 3

原创 TensorFlow的数据pipeline系列:Datasets+TFRecord的数据导入(二)

前言:前面已经有两篇文章专门介绍关于TensorFlow的tfrecord文件如何读写以及怎么使用DataSets来制作数据输入pipeline,可以参见前面两篇文章:TensorFlow之tfrecords文件详细教程tensorflow的Data Pipeline系列教程(一)——Dataset类的属性即常用方法​另外,阅读本文的前提条件是一到什么是特征feature,什么是样本e...

2020-03-24 17:18:29 2367 1

转载 深度学习-各类数据集汇总

阅读目录Images Analysis Image Motion & Tracking Video Analysis & Scene Understanding 3D Computer Vision Analyzing Humans in Images Application Low- & Mid-Level Vision Text回到目录Image...

2020-03-10 15:20:44 7129 2

原创 图像质量评估各项指标(二)——结构相似性SSIM

前言:前面的一片文章中较为系统的归纳了图像质量评价的各种指标,其中使用的最多的就是PSNR和SSIM,鉴于PSNR较为简单,本文专门介绍SSIM的思想以及它的实现。前一篇文章参考:图像质量评估各项指标(一)一、从均方误差MSE和峰值信噪比PSNR说起计算图像降噪后的质量,最 直接的思路即比较降噪后的图像与真实图像(distortion-free)之间的差剖面,即可视误差,通过 v...

2020-01-17 14:35:07 17004 2

原创 C语言文件I/O操作值ungetc()函数深入详解

前言:最近在看C语言的基本文件操作,遇到一个函数ungetc(),看了一些文章,发现并没有一篇真正写清楚的,都是转载来转再去,就那几句话说来说去,决定自己写一篇,来详细探讨这个函数的用法。一、ungetc函数概述我们都知道getc函数的作用,它的作用是从文件流中读取一个字符char,这个文件流可以是一般的文件流,也可以是标准文件流,顾名思义,ungetc的作用应该是和这个相反的,既然g...

2020-01-15 16:55:59 6020 7

原创 C语言类型限定符(type specifier)(二)——restrict和_Atomic详细教程

前言:C语言中的类型限定符一共有四个,const,volatile,restrict,_Atomic,前面的一片文章详细介绍了volatile的作用以及使用方法,本文为系列文章第二篇,介绍接下来的两个类型限定符,restrict,和 _Atomic,前一篇文章请参考:C语言类型限定符(type specifier)(一)——volatile详细教程一、restrict类型限定符(1...

2020-01-13 11:23:55 1613

原创 C/C++指令集介绍以及优化(主要针对SSE优化)

前言:最近在做一些OpenCV的优化相关的东西,发现OpenCV现在的执行效率很高的原因一部分是来自于底层的优化,比如指令集优化,但是一直没找到比较系统性的关于CPU指令集优化的文章或者是书籍,于是自己打算做一个总结,鉴于水平有限,有不正确的地方还望有大佬指正。一、CPU指令集优化的概述1.1 数据并行的两种实现在计算机体系中,数据并行有两种实现路径:MIMD(Multipl...

2020-01-11 14:46:01 17217 6

原创 (windows平台下)深入详解C++创建动态链接库DLL以及如何使用它(一)

前言:C以及C++的动态链接库和静态链接库,说起来很简单,但是实际上在创建的过程中有很多的坑,本人也是一路踩了很多坑,查了很多资料,下决定写一篇完整的文章来详细解释使用VS创建C++动态链接库的完整流程。本文的开发环境是VS 2017。另外关于如何使用动态链接库与静态链接库,请参考前面的文章:VS2017的动态链接库(Dynamic Link Library)配置g++安装配置以及...

2020-01-10 16:04:19 4966

原创 OpenCV并行加速Parallel_for_与ParallelLoopBody教程

前言:对于一些基本的循环运算,如果我们直接使用循环,即便是使用指针,运算效率也不高,如果我们使用并行计算,会大大提升运算效率,OpenCV里面的很多运算都是使用了并行加速的,本文主要介绍Parallel_for_与ParallelLoopBody教程的使用方法。我看了网上的很多教程,其实都是同一篇文章转来转去,而且版本比较低,决定自己写一篇,本文使用OpenCV4.1.1 ,需要使用 <...

2020-01-08 13:25:21 5281 3

原创 图像质量评估各项指标(一)

前言:图像的评价指标是包含非常多的内容的,从不同的角度来说有不同的评价标准,每一种评价标准都有着格子的优缺点,本文针对这些优缺点做一个简单的汇总。图像质量评价的分类概述1、根据评价指标是否参考原始图像分为:全参考评价指标(MSE,MAE,SNR,PSNR,IFC,VIF,SSIM等)半参考评价指标无参考评价指标(均值,标准差,平均梯度,熵)2、根据评价的标准是依据人...

2019-12-17 14:41:57 41053 3

转载 VIM 实用插件整理以及基本的配置(三)

前言:前面两篇文章介绍了基本的vim插件管理相关的知识,但是常见的插件有哪一些,到底怎么配置呢?本文续接前一篇,做了一个小的整理。工欲善其事必先利其器,windows 环境下有诸多好用的 IDE,但在 linux 环境下,可供选择的工具并不多,但是 VIM 作为一款可扩展文本编辑工具,配合丰富的功能插件,同样能满足我们的工作需要,甚至由于其强大的可扩展性,我们能够实现更丰富、更强大的编辑支...

2019-12-12 13:58:27 3177

原创 vim8原生内置(naive)插件安装(二)

前言:本篇文章续接前一篇:详谈Vim的配置层次结构与插件加载方式(一)vim有各种各样的插件管理工具,但是在vim8.0之后,不再需要其他的插件管理工具了,自带了插件管理功能,可以选择性的管理插件,非常的方便,本文介绍vim8.的自带插件管理。centos或者是Ubuntu先升级vim至8.1版本。一、vim 8的内置插件管理——pack管理1.1 创建pack包管理的文件夹...

2019-12-12 10:53:34 4803 3

原创 为什么要用make?为什么要用cmake?Linux源码编译的一般流程?

前言:对于C/C++以及Linux用户来说,编译器,make,cmake这几个工具是天天要接触到的,那到底为什么要使用呢?本文做一个小小的总结。一、编译器gcc与g++gcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(括C、C++、Objective-C、Fortran、Java等等)。当你的程序只有...

2019-12-04 19:39:13 7623 6

原创 Visual Studio2019+Cmake编译配置OpenCV4.1.2+Contrib4.1.2(二)

前言:本文以OpenCV41.2 为例子,opencv有一些函数包是以第三方的形式存在,统一在opencv_contrib-4.1.2里面,如何将整个contrib和OpenCV本身的功能统一在一起进行编译呢?本文是自己操作的结果,与网上的较多教程类似,编译完成之后,怎么使用,请参见前面的OpenCV在VS中的使用:VS2017配置OpenCV4.1.1超详细教程(项目配置与永久配置)(一...

2019-12-04 18:04:52 4659 4

原创 VS2017的动态链接库(Dynamic Link Library)配置

前言:和静态链接库不同的是,静态链接库是在程序编译的时候就需要的,而动态链接库是在程序执行的时候才需要,在VS2017这样的集成开发环境之下,动态链接库的配置方式有很多,很多文章只说了其中一些,本文针对此种情况做一个简单的汇总。一、直接拷贝法将需要的动态链接库直接拷贝到和可执行程序的同目录之下,这是最常见,最通用的方法了。二、拷贝到两个特殊的目录32位的 x86的动态链接库 ...

2019-12-02 15:08:13 4592

转载 cmake的generator详解

前言:cmake会通过cmakelist.txt文件,生成适用于不同项目类型的makefile文件,然后makefile文件被不同的编译器使用进行编译,考虑到C/C++的开发环境之多,有非常多的种类的项目开发环境,但是cmake基本上都考虑到了,这里做一个小的汇总。CMake支持下列generator:Visual Studio 6: 生成Visual Studio 6 工程文件。 ...

2019-11-30 11:20:14 9827

原创 Linux环境之下使用VS Code搭建C/C++开发环境

前言:前面的文章介绍了在Windows平台之下使用Ming-win64和MSVC搭建C/C++的开发环境,本文开始介绍在Linux平台之下如何搭建开发环境。可以参考前面两篇文章:VSCode开发C、C++环境搭建系列(一)——基于Mingw-w64搭建VSCode开发C、C++环境搭建系列(三)——基于MSVC搭建一、基本的软件安装gccg++makecmake这四...

2019-11-29 17:53:12 7975

原创 Windows版本,OS内核版本,Windows SDK之间的关系(附 :Windows纯净系统下载以及更新)

前言:我们经常会会被几个概念弄混淆,什么是Windows版本号,什么又是操作同内核版本,开发C++的时候什么又是WindowsSDK,实际上区别很简单,本文做一个小的总结。一、Windows版本1.1 查看Windows版本号的几种方法(1)“设置/系统/关于”,打开如下界面(2)在cmd里面运行命令VERC:\Users\Administrator>VER...

2019-11-29 14:12:32 3776 1

原创 OpenCV的Mat类用于获取图像信息的常用属性与方法

前言:Mat是OpenCV的最基本的类型,他有很多常见的属性和方法,可以获取这张图片的基本信息,帮助我们更好地理解图片,本文做了一个简单的小结,并说明了一些常见的易错点。一、Mat对象常见的属性以及方法一览cout << image.cols << endl; //相片的列数,一共有多少列,对应widthcout << image...

2019-11-27 14:29:04 3076

原创 C++中的“引用”详解

前言:在面向对象的程序设计语言中,我们经常听见一些名词,引用,地址,在函数传递参数的时候,我们又经常说值传递,引用传递,最容易让人搞混淆的就是“引用”和“地址”这两个概念了,对于C++和C#来说,引用一词从他们所呈现的表象来看的确很类似,但是本质实际上是不一样的,C++:引用就是一个变量的别名;C#:引用可以用指针去理解,虽然C#没有指针,我们经常说某个变量所引用的数据,可以理解为某...

2019-11-22 11:45:06 14795 7

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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