
Python
HK_Joe
这个作者很懒,什么都没留下…
展开
-
python 各种排序算法
python各种排序算法from pysnooper import snoopfrom typing import Listimport randomimport numpy as npclass sort: def BubbleSort(self,array:List): ''' Bubble sort :param array: :return: ''' arrayLen=len(arra原创 2021-04-25 16:13:24 · 296 阅读 · 1 评论 -
cv2和PIL图像转换的时候色域失真问题
python中打开一张图像,通常使用cv2.imread()和Image.open()两个函数打开。然而,用这2种方法打开的图像对象是不一样的,并不兼容,色域也不一样(真的是很坑爹,cv2读取的时候的BGR,PIL读取的时候的是RGB色域)。cv2打开的图像是‘numpy.ndarray’类型;Image打开的图像是’PIL.Image.Image’类型;import cv2 from PIL import Imageimport numpy as np # Image to cv2原创 2020-11-17 10:37:13 · 1640 阅读 · 0 评论 -
Tensorforce两三语
前言关于tensorforce的背景可以从他的名字看出来,tensor*必然是师从tensorflow框架的,事实上也确实是由tensorflow框架来的。使用tensorforce可以快速的构建强化学习代码,同时还可以利用其中现有的强化学习框架,例如常见的AC,A2C,A3C,PPO等。并且可以很好地结合OpenAIGym等主流开源环境和框架。tensorforce的要点tensorforce的要点,或者说强化学习的要点大致可以分为两大部分,一是环境(Environment),二是代理(Agent)原创 2020-11-13 09:26:38 · 1279 阅读 · 1 评论 -
Linux下如何使用matplotlib进行绘图并进行显示
最近把python代码移植到服务器上运行,其中由结果需要基于matplotlib进行观察,但是由于Linux下没有GUI界面,所以直接使用plt.show()是没有意义的。因此我们需要对代码进行改造,源代码如下:import matplotlib.pyplot as pltplt.plot(range(0,20))plt.show()在Windows下是可以正常运行显示结果的,但是...原创 2019-11-26 12:14:43 · 11776 阅读 · 1 评论 -
如何在Ubuntu 18.04上安装Anaconda [快速入门]
记录一下安装过程:https://www.howtoing.com/how-to-install-anaconda-on-ubuntu-18-04-quickstart转载 2019-11-23 18:03:48 · 296 阅读 · 0 评论 -
python当中eval函数与exec函数的使用区别
python当中eval以及exec两个函数可以动态的执行语句,二者的区别在于:eval函数当中是不能包含等于号的,例如如下语句就会报错:eval('z=1+1')但是z=eval('1+1')不会报错,与此同时:exec('z=1+1')就不会报错...原创 2019-11-04 19:44:16 · 394 阅读 · 0 评论 -
将pb文件转化为tflite文件
最近在做一个关于MobileNet的卡片识别任务,最后的目的在于把训练好的模型移植到手机端,关于的移植的步骤,网上已经讲了很多了,我就不多讲述了,这里推荐一个博客我的模型移植就是参考这里的,同时我的模型是直接通过TFhub上的MobileNet迁移学习得到的。迁移之后会生成一个pb文件,然而pb文件又不能直接使用Tensorflow-lite这一个神器,因此就必须把pb模型转化为tflite模型,...原创 2019-10-24 20:21:29 · 6515 阅读 · 12 评论 -
TensorFlow 工程实战(一):在TFhub中下载预训练的pb文件,并使用 TF-Hub 库微调模型评估人物年龄
实例描述有一组照片,每个文件夹的名称为具体的年龄,里面放的是该年纪的人物图片。微调 TF-Hub 库,让模型学习这些样本,找到其中的规律,可以根据具体人物的图片来评估人物的年龄。即便是通过人眼来观察他人的外表,也不能准确判断出被观察人的性别和年纪。所以在应用中,模型的准确度应该与用人眼的估计值来比对,并不能与被测目标的真实值来比对。一、准备样本本实例所用的样本来自于 IMDB-...原创 2019-10-19 10:03:03 · 3020 阅读 · 1 评论 -
在cmd模式以及pycharm当中的terminal模式当中运行python程序(.py文件)//cmd模式下运行python程序没反应
在pycharm当中的terminal运行代码如果对于有调参数的需要,每次都直接在代码当中修改相应的参数值会显得十分的麻烦,如果直接在terminal或者是在cmd当中使用输入参数的办法进行运行则会显得方便许多。如果代码为以下内容,import sysif len(sys.argv)>2: count=1 print('sys.argv[0] is '+sy...原创 2019-10-08 10:13:02 · 8912 阅读 · 2 评论 -
Error converting shape to a TensorShape:错误分析
Error converting shape to a TensorShape: int() argument must be a string, a bytes-like object or a number, not 'tuple'.这一错误是在使用Keras包编写DNN代码时发现的。出错的代码如下:import kerasmodel = keras.models.Sequentia...原创 2019-09-06 08:43:37 · 7363 阅读 · 0 评论 -
Python字典数据在循环当中删除元素
在Python当中遍历字典值删除符合要求的字典元素,如果采用如下的代码:for key in wordDict.keys(): if wordDict[key]<80: del wordDict[key]那么会触发RuntimeError: dictionary changed size during iteration错误,正确的用法是for key...原创 2019-07-22 11:15:56 · 2698 阅读 · 0 评论 -
TensorFlow当中神经网络运行无结果可能的原因
在之前的一次用TensorFlow实现回归任务的一个小作业当中,出现了一个神奇的错误,记录一下。下面的代码时总代吗当中的一部分,实现的是对网络结构以及权重系数和偏置进行定义,如果按照下面的写法,也既先定义权重以及偏置接着对网络层的输出进行计算,这样操作是没有问题的。# 定义两层简单的网络x = tf.placeholder(tf.float32, [None, 1])y = tf....原创 2019-07-31 16:17:44 · 1293 阅读 · 0 评论 -
解决TensorBoard可视化生成文件之后无法用浏览器打开http://DESKTOP-CG:6006类似的地址
在参考许多解决办法,诸如使用tensorboard --logdir E:\graph --host=127.0.0.1的命令行生成,再在浏览器当中打开http://127.0.0.1:6006的地址,最佳的解决方案就是,使用tensorboard --logdir E:\graph生成可视化图形,然后将生成的地址,例如http://DESKTOP-CG:6006,将其中的DESKTOP-CG替换...原创 2019-08-01 10:11:31 · 2575 阅读 · 0 评论 -
keras当中对MobileNet进行fine-tuning出现的错误:we expect the tensors to have a static batch size
之前在进行MobileNet的fine-tuning的时候,出现了以下的问题ValueError: When feeding symbolic tensors to a model, we expect thetensors to have a static batch size. Got tensor with shape: (None, 128, 128, 3)部分代码如下:...原创 2019-08-09 09:42:18 · 2050 阅读 · 0 评论 -
keras当中对MobileNet进行fine-tuning出现的错误:could not create a dilated convolution forward descriptor
tensorflow.python.framework.errors_impl.AbortedError: Operation received an exception:Status: 3, message: could not create a dilated convolution forward descriptor, in file tensorflow/core/kernels/mk...原创 2019-08-09 10:01:48 · 2050 阅读 · 2 评论 -
keras当中对MobileNet进行fine-tuning出现的错误:Attempting to use uninitialized value
在对MobileNet进行fine-tuning的时候,出现了各种诡异的错误,在之前的博文介绍的错误当中,因为要将批量的图片数据通过指定的session转化为ndarry数据,因此代码如下with tf.Session() as sess: image,label,oneHotlabel,imagePath=itertor.get_next() image,oneHotlab...原创 2019-08-09 10:34:27 · 817 阅读 · 0 评论 -
Tensorflow datasets.shuffle repeat batch方法的妙用,以及batch是否会重复取值
最普通的情况# 创建0-30的数据集,每个batch取个8数。import tensorflow as tfdataset = tf.data.Dataset.range(30).batch(8)iterator = dataset.make_one_shot_iterator()next_element = iterator.get_next()with tf.Session(...转载 2019-08-07 11:12:33 · 991 阅读 · 0 评论 -
解决使用Keras对mobileNet进行迁移学习(fine-tining)出现的过拟合问题(验证集正确率过低)
对于目前网上的利用Keras对各种网络进行fine-tuning以及迁移学习的代码大多都是直接从keras的官网上直接抄过来的(其中知乎上的一个例子也是如此,,我一开始的代码也是参考的那个fine-tuning代码,但是最后结果非常差。)对于这一个问题,网络上的解决办法非常的少,在这里我也做一下简单的总结,以备日后的学习以及研究。在国内博客上来讲,有两篇博客提及了这个问题,但是都只是浅尝辄止的...原创 2019-09-02 18:03:12 · 3866 阅读 · 0 评论 -
Python当中对于numpy包当中matrix和array的乘法的区别
对于array对象,*和np.multiply函数代表的是数量积,如果希望使用矩阵的乘法规则,则应该调用np.dot和np.matmul函数。 对于matrix对象,*直接代表了原生的矩阵乘法,而如果特殊情况下需要使用数量积,则应该使用np.multiply函数。简而言之,无论对于array还是matrix的数据类型np.multiply都是指的数量积,而对于matrix来说,为了和线性代数当...原创 2019-07-01 17:23:19 · 472 阅读 · 1 评论