自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

书生的日常

世之奇伟、瑰怪,非常之观,常在于险远,而人之罕至者少

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

原创 MySQL安装文件记录

链接:https://pan.baidu.com/s/10_G-6cFHXcPepDaeW7vFOQ。链接:https://pan.baidu.com/s/1HVtDaiFfn5okorC_4xGJmQ。MySQL8.0存在一些改动,考虑到开发测试的基本需求,方便期间本次用5.5版本足够。安装非常简单,一直next就好,注意密码设置为最简单的就好(123456)SQL的可视化文件,直接安装后,输入1中的服务器连接密码即可。很久没有装MySQL有点忘记了,mark一下,方便后期查找。

2024-04-03 11:10:57 184

原创 BrightID与Poap使用注册说明

把这两个app一起介绍,主要是因为这两个app是获取gitcoin及其他一些平台空投的前提条件,而且这两个app本身也会有一些诸如token、NFT之类的奖励。BrightIDBrightID是一个web3的身份证,用来证明当前操作的行为是你本人。由于验证流程的唯一性,决定了一个人只能有一个BrightID。这也避免了有些空投项目被同一个用户反复换马甲薅羊毛的可能性。BrightID创建的流程可以参考BrightID创建及领取空投教程1.在官网下载app,设置头像、名称、密码后,进入首页会发现有一

2021-12-10 16:19:27 1391

原创 国内常用python模块下载地址

部分python模块下载的时候如果直接pip可能因为网速过慢导致中断,因此下载时如需要提速,最好指定下载代理。使用方法如下pip install h5py -i https://pypi.tuna.tsinghua.edu.cn/simple清华:https://pypi.tuna.tsinghua.edu.cn/simple阿里云:http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/sim

2021-12-07 16:57:55 1298

原创 Error when checking : expected main_input to have shape (5,) but got array with shape (1,)

我们在python中训练模型时,通常的数据格式为dataframe。在进行模型训练的时候,由于数据量较大所以进行拟合没有问题model.fit(X_train,y_train)但是对于训练好的模型,我们在预测时可能并不需要对大量数据集进行预测,有时仅仅需要预测一种特征下的结果。这里我构建的模型特征为5个,输入为特征示例为[2,2,1,2,3]这时候转化成dataframe会导致过程较为繁琐,而直接特征列表可能会出现如下错误expected main_input to have shape (

2021-12-03 10:25:48 703

原创 解决jupyter Notebook打开空白及需要输入token的问题

在调试代码的时候,一般我们会在Notebook中进行分步调试。今天在打开notebook的时候,显示是空白,而且点击new的时候没有出现已经安装的环境进一步刷新后出现需要输入password或者token的页面查看了很多资料后,我基本把问题定位在了浏览器的cookies上,具体如何配置浏览器参考Jupyter Notebook修改文档路径和浏览器设置,这里不再过多介绍针对浏览器的cookies问题,Stack Overflow上解释的原因可能是因为上次结束未保存直接中断而导致浏览器的cookie

2021-11-19 11:25:35 4976

原创 module ‘tensorflow.compat.v2.__internal__‘ has no attribute ‘tf2‘

最近在直接导入keras的时候出现了上述错误,查了很多资料,发现应该是tf的版本和keras的版本过高导致的。import kerasAttributeError: module 'tensorflow.compat.v2.__internal__' has no attribute 'register_clear_session_function'import tensorflow as tf这里我使用的tensorflow版本是’2.5.0’由于无法导入keras,则后续的Model等模块

2021-11-16 15:04:55 5405

原创 python图片第三个维度不是3的情况处理

我们在进行CV方向深度学习工作时,需要基于大量图像进行批量前处理工作。为了便于后期运算,我们通常需要将图片resize成相同的尺寸。众所周知,图像存在3个维度(hight,wide,RGB通道数)。通常,我们认为图像的RGB通道数有红绿蓝三个维度,因此图像的第三维度通常为3。然而,这次处理图像的过程中发现很多jpg格式的图像第三个维度为4,导致resize一直失败,分析原因发现,可能是因为这些图片本来是由png等格式转换成jpg的。你在玩三种不同格式的图片(至少是那些出现在你问题中的图片)。它们分

2021-10-25 15:49:02 1293

原创 AutoCad字体显示问题

在我们使用CAD的时候,经常会碰到字体呈现问号的情况,运气好的情况导入字体后问号会消失。但偶尔会出现一些看起来字体全部已经导入但是依然显示问号的情况。出现这种情况时,可以找到CAD中的选项设置,在其中替换字体文件中,将其改为你默认的字体(这里我选择仿宋),这样以后出现的问号都会显示为仿宋,问题解决!...

2021-08-25 17:21:50 535 2

原创 Jupyter Notebook修改文档路径和浏览器设置

Jupyter Notebook修改文档路径和浏览器设置本来觉得这样的内容网上一堆,但是一搜发现谬误太多,索性自己写一个便于后期自己安装调试。第一步安装Ananconda的流程不再多说。1.安装后,打开在开始菜单下的prompt进一步在输入jupyter notebook --generate-config,找到jupyter_notebook_config文件的路径,一般是C:\Users\Administrator\.jupyter。按照网上有些文章在D盘安装文件下执行CMD命令是会报错的。

2021-06-23 14:36:56 485 1

原创 吴恩达深度学习Dinosaurus+Island作业的思考

吴恩达这节课的介绍如下Welcome to Dinosaurus Island! 65 million years ago, dinosaurs existed, and in this assignment they are back. You are in charge of a special task. Leading biology researchers are creating new breeds of dinosaurs and bringing them to life on ear

2021-03-31 17:04:43 281

原创 python优先队列

官方链接:https://pypi.org/project/sortedcontainers/最近刷题的时候遇到了优先队列。与一般的队列(先进先出FIFO)不同的是,优先队列一般是最高级的优先出(即最大的先出)。一开始想到的,可以用堆来维护一个优先队列。不过,python中的堆是一个小根堆,即每次顶部pop出的都是最小值。这样一来,我想到了41. 数据流中的中位数,能不能把数字变负,写入小根堆。后来百度的时候发现,其实Python把优先队列封装在了sortedcontainers模块中,(PS:.

2021-02-23 23:13:24 3639 3

原创 不修改模块版本解决AttributeError: module ‘scipy.ndimage‘ has no attribute ‘imread‘

最近在看吴恩达的深度学习课程。由于课程较早,当前Python中运用的很多模块都已经升级,导致相应的方法会出现报错。今天在做Tensorflow+Tutorial作业的时候就出现了标题中的错误:AttributeError: module ‘scipy.ndimage’ has no attribute ‘imread’百度后发现是由于scipy版本升级所致,这样一来大部分文章的建议都是对scipy进行降级。为了避免后续的使用(其实主要是懒),我还是找到了一种用matplotlib读取图片的方式

2021-02-21 10:38:41 1574 1

原创 随机从长度未知的数组中抽取数字,且保证每个元素被抽到的概率相同

昨天面试字节,手写代码之后进一步考查了一道题。面试官让我说一下有什么思路。题目如下:有一个函数int getNum(),每运行一次可以从一个数组V[N]里面取出一个数,N未知,当数取完的时候,函数返回NULL。现在要求写一个函数int get(),这个函数运行一次可以从V[N]里随机取出一个数,而这个数必须是符合1/N平均分布的,也就是说V[N]里面任意一个数都有1/N的机会被取出,要求空间复杂度为O(1)。我当时的思路是如果随机抽取,那么肯定要用到random方法,另外如果不能获得数组长度,那么

2021-02-02 14:37:28 1193

转载 leetcode动态规划问题总结

转自某位大佬的github,在这里mark一下Leetcode 题解 - 动态规划

2020-12-25 10:12:40 243

原创 leetcode中数组问题常用的处理方式

对于数组的处理,是leetcode中一种非常常见的题型。针对数组结构的处理,我自己整理了一些常用的解题思路,便于在面对问题时,迅速思索解题方法。1.滑窗法2.双指针3.构建左右侧双列表4.利用数据结构1.滑窗法滑窗法一般用于处理数组中多个数字之间关系。一般的结构是,一个for循环嵌套一个while循环,并结合max或者min方法进行判断。相关的题目见上述链接。2.双指针双指针方法一般有两种应用场景:一种是左右指针,即开始时定义左右指针索引。这种方式广泛应用于二分排序等操作常见

2020-12-23 15:19:18 458

原创 linux服务器上传文件被拒的解决方案

很有可能是文件夹没有授权,在shell里面输入如下命令可以解决:sudo chmod 777 文件夹名详情参考,Linux chmod命令

2020-12-15 14:31:02 1728

原创 记一次linux环境下的Anaconda离线安装(含pgcopy2模块)

因为开发任务急剧增加,所以最近又向公司申请了几台服务器。今天尝试在新申请的服务器上搭建新的python环境。一.Linux环境下的Anaconda安装与卸载在linux环境下安装Ananconda并不难。在Anaconda官网下载相应的安装包我通过ftp上传到服务器的home文件夹下通过cd命令转到home文件夹下,通过bash来安装后缀是sh的可执行脚本文件。随后开启安装,安装过程中,基本上一直回车或者yes即可。cd /homebash Anaconda3-2020.11-Linu

2020-12-13 14:42:59 6170

原创 leetcode三道类似的字符串动态规划问题

参考了这篇文章,用动态规划方式求解最长公共子串长度描述有两个字符串(可能包含空格),请找出其中最长的公共连续子串,输出其长度。(长度在1000以内)例如:输入:abcde bcd输出:3回到顶部解析1、把两个字符串分别以行和列组成一个二维矩阵。2、比较二维矩阵中每个点对应行列字符中否相等,相等的话值设置为1,否则设置为0。3、通过查找出值为1的最长对角线就能找到最长公共子串。暴力求解法def getLCS(s,t): if len(s) == 0 or len(t) == 0

2020-11-10 10:24:47 221

原创 psycopg2.DataError: extra data after last expected column

之前一篇文章对比过几种Python中dataframe写入PG方法的效率问题.insert、to_sql、copy_from 3种写入PG数据库代码效率对比尽管,copy_from方法的写入速度远快于另外两种方式,但在操作过程中还是有些细节需要注意。这次在写入数据的时候,发现出现以下问题:psycopg2.DataError: extra data after last expected column奇怪的是,我在写入数据时明确写明了表中对应的字段cols。进一步打印日志,发现,原因在于:我在

2020-10-30 11:02:44 6500

原创 GIT开发说明

当开发新版本任务时,有必要先同步远程代码进行开发。我们需要针对远程代码构建一个本地的master进行开发,如下(这里以20201118为例):如果发现本地没有最新的分支,则fetch抓取远程分支如果本地已经有与远程对应的分支(这里为20201118),通过update更新到远程最新的版本执行完开发工作后,commit或者push本地代码到远程master,由相关的负责人合并到远程的主master上。如果需要在本地的基础上进一步划分多人进行修改,可以进一步新建分支另外,如果当前开发任务

2020-10-27 14:44:09 114

原创 Sklearn决策树可视化

决策树算法的原理,对于研究机器学习的同学想必都非常的熟悉。在进行数据分析过程中,我们想进一步深入的了解数据特征重要性等等时,最好能够通过数据可视化的方式深入的了解每一个特征对于数据分类划分的重要性。这时,我们学习《机器学习实战:基于Scikit-Learn和TensorFlow》的案例,引入sklearn模块中的graphviz模块首先,构建存储图片位置的路径import osPROJECT_ROOT_DIR = "."CHAPTER_ID = "decision_trees"IMAGES_

2020-10-10 10:56:50 1092 1

原创 三种常见梯度下降优化算法总结

最近在学习《机器学习实战:基于Scikit-Learn和TensorFlow》,这里把之前的一些基础知识点进行了总结。对于一个线性函数:y^=hθ(x)=θ⋅x\hat{y}=h_{\theta}(\mathbf{x})=\boldsymbol{\theta} \cdot \mathbf{x}y^​=hθ​(x)=θ⋅x为提高函数的泛化能力,我们需要定义其损失函数,并将之尽可能降到最小。这里我们使用MSE作为损失函数。MSE⁡(X,hθ)=1m∑i=1m(θ⊤x(i)−y(i))2\operator

2020-09-23 11:28:26 2445

原创 numpy中rand与randn的区别

rand是随机生成值在0-1之间的函数;randn是随机生成均值为0,方差为1的正态分布上的数值。通过一张图可以清晰看到区别%matplotlib inlineimport matplotlib.pyplot as pltplt.hist(np.random.rand(100000), density=True, bins=100, histtype="step", color="blue", label="rand")plt.hist(np.random.randn(100000), den

2020-09-21 17:05:27 3053

原创 Multiple sources found for csv

源代码://配置驱动器val sparkConf = new SparkConf().setAppName("test").setMaster("local[2]")val spark = SparkSession.builder().config(sparkConf).enableHiveSupport().getOrCreate()//配置标题结构val inputRddStruct = StructType(List( StructField("DEST_COUNTRY_NAM

2020-08-21 17:04:29 1294 1

原创 Spark查找dataframe某列最大值

初学Spark,dataframe的很多操作不如Python灵动。比如,取某一列最大值的操作,在python中直接如下操作即可,简单方便`max(df["A"].unique())`查了很多scala中的操作,选择了一种相对比较简单的方式。首先将dataframe转化成视图,并通过sql的方式找到最大值。df.createOrReplaceTempView("TEMP_DF")val date = sqlContext.sql("SELECT MAX(statis_date) as maxva

2020-08-19 16:11:30 7548

原创 pandas数据处理效率提升方法

在进行业界大规模数据处理及特征工程的时候,往往需要对dataframe进行处理。而处理方式一般人会选择用apply的方式。apply方式进行了一些底层的优化,相比直接对dataframe进行for循环效率高了很多。但是,尽管使用了apply后,依然有很多优化的空间。方法如下:Pandas循环提速7万多倍文中提到了一种用numpy进行优化的方法,但是具体的实施方式说得并不清楚。至于为什么采用numpy会对pandas的循环有如此明显的效果优化,stack overflow给出了解释。那么了解了

2020-07-21 15:44:31 1501

原创 Pychram连接GIT数据库

初始的安装GIT与配置可以参考这里:https://jingyan.baidu.com/article/9080802232da03fd91c80fdd.html安装好GIT后,我们需要将远程的repo拉到本地。这时,我们可以在本地新建一个和远程repo一样的文件夹名称如我的线上有一个repo名为115prd这样,我在本地构建一个文件夹115prd随后,打开Pycharm(Intel的操作一样),选择GIT在弹出的对话框中,选择指定的115prd路径,并在url中选择GIT上的115

2020-06-05 16:11:40 213

原创 XGBOOST与GBDT区别

GBDT是一种较为经典的梯度提升树算法,包括XGBOOST(XGBOOST是GBDT的一个变种)。Boosing算法是一种加法模型,它包含一种残差逼近的思想。GBDT是一种较为经典的梯度提升树算法,包括XGBOOST(XGBOOST是GBDT的一个变种)。GBDT 在函数空间中利用梯度下降法进行优化。XGBOOST在函数空间中利用牛顿法进行优化。且相比GBDT,XGBOOST加入了正则项,使模型更加不容易过拟合。优化方法梯度下降法(Gradient descend method)梯度下降法利

2020-06-01 09:26:29 1015

原创 python双向队列deque的基本用法

官方链接:https://docs.python.org/2/library/collections.html#collections.dequedeque是双向队列,其方法与常规的list类似,但是扩展了一些list没有的功能。导入模块from collections import deque定义一个新的队列a = deque()append & appendleft可以从左右两侧添加数据a.append(0)a.appendleft(1)a#deque([1, .

2020-05-26 18:06:59 1875

原创 Python堆的基本用法

官方链接:https://docs.python.org/3/library/heapq.html堆,其实是二叉树的一种。Python中的堆其实是小根堆,即每一个父节点都小于等于它的子节点。堆这种结构在leetcode刷题过程中经常遇到。对于一个堆heap来说,它最小的元素总是它的根节点,即heap[0]。对于一个堆来说,它的导入比较简单import heapqheap = []heappush通过heappush方法可以将数字加入堆中heapq.heappush(heap,1).

2020-05-19 15:19:18 3752

原创 Hive从一张表插入另一张表

Hive由于存在分区,所以当其需要从一张表迁移到另一张表的数据时,SQL要考虑分区问题。如果仅仅从一个日期写入另一个日期,可以直接执行以下HQL命令insert overwrite table table_name1 PARTITION (statis_date='${statisdate}')select gds_cd1,gds_cd2,co_appear from table_name2 where statis_date='${statisdate}';然而,很多时候我们选取的日期往往并不

2020-05-13 18:02:02 10098

原创 leetcode中DFS与BFS算法在数组和字符串中的应用

DFS(深度优先遍历)与BFS(广度优先遍历)算法是基于树和图结构进行遍历的两种算法。一般来说DFS在前中后遍历中运用比较明显,DFS的运用基本是要利用递归进行嵌套使用。回溯算法其实也是一种比较经典的DFS算法升级运用而BFS比较经典的运用就是层次遍历,一般会运用数组和while循环不断进行pop和insert操作。涉及到回溯算法和递归的二叉树结构题,之前已经进行过总结:leetcode回...

2020-05-08 10:06:19 658

原创 leetcode反转链表问题

关于反转链表的讲解可以看这篇leetcode解析反转链表的一部分class Solution(object): def reverseBetween(self, head, m, n): """ :type head: ListNode :type m: int :type n: int :rtype: L...

2020-04-22 11:20:02 261

原创 leetcode环形排序(cyclic sort)问题汇总

循环排序问题,一般是为了简化数组排序复杂度的一类问题。通过这种方式可以将数组排序的复杂度从o(n2)o(n^2)o(n2)降低到o(n)o(n)o(n),甚至于o(1)o(1)o(1)另外,在排序的题目中要善于运用字典和集合去重计数的性质,降低算法的复杂度。有时候还会涉及到一些位运算。268.缺失的数字这道题很简单,利用一个enumerate即可class Solution(object)...

2020-04-07 18:33:07 1584

原创 leetcode合并区间问题汇总

合并区间问题,采用的方法和滑窗法类似,都是在for循环中动态找到最大值和最小值。56. 合并区间逻辑相对比较简单,注意开始要对intervals进行排序。动态的对比ans[-1][-1]与interval[0]的大小来更改ans[-1][-1]class Solution: def merge(self, intervals: List[List[int]]) -> List...

2020-04-03 16:46:06 360

原创 leetcode快慢指针法题目汇总

双指针法,分为左右指针和快慢指针两种。其中左右指针在数组中运用较多,可以和滑窗法一起进行汇总:滑窗法运用而快慢指针一般在链表中运用较多,在反转链表和定位链表节点及链表成环等逻辑中运用比较广泛。141. 环形链表逻辑非常简单,只要是环形的链表,那么快慢指针早晚会遇到。值得注意的一点是,用try…except…来进行异常判定 def hasCycle(self, head): ...

2020-04-02 14:56:29 501

原创 递归算法中的小Tips

递归算法中的小Tips记忆化尾递归快速幂功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入递归的基本操作已经在二叉树的笔...

2020-03-19 17:22:35 165

原创 leetcode二叉树遍历与递归题目汇总

目录1.前序遍历2.中序遍历3.后序遍历4.总结规律5.层次遍历二叉树的遍历是二叉树的基本操作。对于一颗二叉树,其主要的遍历形式有四种:前序遍历、中序遍历、后序遍历、层次遍历。以一颗形状如下的二叉树为例1.前序遍历前序遍历执行的是中左右的遍历原则,即先遍历中间的根节点,然后左节点,最后右节点。这样获得的遍历顺序为:1245367前序遍历的代码利用了递...

2020-03-11 11:58:09 793

原创 Jupyter Notebook添加目录

Jupyter Notebook虽然可以很好地支持Markdown的编辑形式。但是对于较大的文件由于无法生成目录文件,而要逐步查找依然是比较麻烦的事情。因此,这里提供大家一个给Jt添加目录的插件,便于更好的查看Jt文件。这里我以win10为例,为了支持生成目录首先安装好Anaconda。在cmd中依次执行以下两行命令:pip install jupyter_contrib_nbex...

2020-03-06 15:32:35 797

原创 matplotlib应用总结

matplotlib作为Python中的可视化模块,因为操作简单而被广泛运用。%matplotlib inline #此行用于避免后期加入plt.show()import matplotlib as mplimport matplotlib.pyplot as plt1.plt有很多风格#查看绘图风格plt.style.available#随便选择一种风格plt.sty...

2020-03-04 10:27:24 592

空空如也

空空如也

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

TA关注的人

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