python技术基础
文章平均质量分 63
python使用中的一些注意要点
kelly学技术
大龄码农,分享工作和生活
展开
-
Python中__name__到底是什么?了解一下
在if __name__ == "__main__"语句中添加测试代码,对模块中各个函数进行测试。(2)模块aa.py被import导入时,__name__取值为aa(模块名字,不含.py后缀),aa.py会执行else语句。很多Python项目,在.py文件底部都有下面的代码块,Python初学者通常会好奇if语句中的__name__有什么作用。(1)模块aa.py作为主程序直接运行时,__name__的取值等于字符串"__main__",aa.py会执行if语句。创建2个py文件,其中aa.py文件。原创 2023-12-29 13:59:59 · 809 阅读 · 0 评论 -
图像旋转python和numpy实现
给定一张图片,如何在不使用PIL、OpenCV这些库的情况下,单独使用Numpy库实现图片旋转。“talk is easy, show me the code!”常见旋转有:上下翻转、左右翻转、旋转180度、逆时针旋转90度、顺时针旋转90度。(1)上下翻转图片沿着图片中心的水平线,上下翻转,第一行调换到倒数第一行,第二行调换到倒数第二行,以此类推。python实现:# 上下翻转 = 颠倒各个行的顺序arr_up = arr[::-1, ...] # ...原创 2021-05-09 09:35:02 · 2400 阅读 · 0 评论 -
数学上的一维离散线性卷积原理和python实现
最近在研究卷积,发现深度学习中的卷积和数学中的卷积存在差异,这里记录下数学中的一维离散线性卷积。一、数学公式一维离散线性卷积的计算公式如下:(1)卷积运算满足交换律,即a和v的顺序可以颠倒。(2)计算时,v(m)先反转到v(-m),再平移到v(a-m)。二、numpy库convolve函数numpy.convolve(a, v, mode='full')假定序列a长度为N,序列b长度为M,则有 mode=full,则结果序列长度=N+M-1,包括重合的端点处..原创 2021-04-27 23:44:29 · 4050 阅读 · 6 评论 -
pycharm配置远程访问docker镜像环境
流程:步骤1:修改docker镜像中的ssh配置,允许外部访问。步骤2:pycharm创建ssh配置,以便能远程访问docker镜像。步骤3:pycharm进行deployment配置,将本地项目部署到docker的自动挂载目录。步骤4:pycharm添加docker镜像的python环境。步骤1: 1. 启动镜像的时候宿主机端口映射到容器端口22: -p 6029:22 2. 进入容器修改root密码: passwd 3. 安装ssh工具: apt-get...原创 2021-04-08 18:54:30 · 1273 阅读 · 2 评论 -
图像风格迁移总结
图像分割迁移总体上分类2大类:基于优化的方法和基于decoder的方法。下面按照发展阶段梳理:文理合成的第一篇论文《Texture Synthesis by Non-parametric Sampling》非参数化的暴力求解法-------------------------------------------------------------------------------------------《Image style transfer using convolutional ne原创 2021-03-29 09:08:58 · 3454 阅读 · 1 评论 -
EM算法
用途:求解含有因变量的问题,但模型结构需要先知道。方法:最大化完全数据(可观测数据+不可观测)的期望;第1步(E步):先假定一个模型初始参数,求完全数据的期望等价于求因变量参数值;第2步(M步):因变量确定之后,问题转化为极大似然估计问题,最大化完全数据的期望,即更新模型参数。使用到的关键工具:Jensen不等式假定函数f(x)是下凹函数,,则有:否则f(x)是上凸函数,则有:实际计算步骤E步(已知theta求z)根据theta的初值,计算各个样本j对于..原创 2021-03-04 15:31:17 · 428 阅读 · 1 评论 -
实体识别-个人理解知识体系
-- over --原创 2021-03-03 14:23:38 · 184 阅读 · 1 评论 -
hmm的预测(解码)问题和python实现
hmm的解码问题:给定训练好的hmm模型,预测给定观测序列对应的最佳隐状态序列。两种方法:(1)近似算法(2)viterbi维特比算法近似算法摘自李航《统计学习方法》缺点:无法保证所求的状态序列一定有意义和最佳,只能保证当前时刻t选择是状态是最佳的。viterbi维特比算法核心思想:动态规划机制,从前向后,在每个时间步t仅选择当前状态下的最佳路径,剔除非最佳路径。viterbi的实现代码:import timeimport numpy as np..原创 2021-03-01 21:43:11 · 1807 阅读 · 1 评论 -
“python -m 模块名“的理解
引言:# 脚本方式执行python run.py# 模块方式执行python -m run(1)"python --help"中的定义-m mod : run library module as a script (terminates option list)以脚本方式运行Python模块(把python模块当做script方式执行,python文件=python模块名+".py")python官网中的示例:python -m http.server 8000pytho原创 2021-02-23 17:28:48 · 400 阅读 · 1 评论 -
“ModuleNotFoundError: No module named ****“问题分析和解决思路
"ModuleNotFoundError: No module named ****"问题分析和解决思路这个问题比较常见,根据经验主要分为两种:情况1:"****"这个package是否在真的存在,pycharm做远程deployment时候,用户经常会在远程服务器漏掉某些文件和目录,导致目录不存在。解决办法:直接upload本地目录和文件到服务器就行了情况2:"****"这个package是存在的,这时问题继续分为2种情况情况2.1:使用pycharm,右击指定包目录"Make Direct原创 2020-10-21 21:41:28 · 13336 阅读 · 0 评论 -
numpy-repeat
repeat是一个常用函数,比如维持深度学习中不同矩阵的维度一致,或者基于低维的矩阵得到一个更高维度的矩阵作为初始矩阵等等。作用:沿着指定轴(axis),对矩阵的元素项(单个数值、行向量、列向量,三者之一)进行依次重复。效果:维度数目ndim不变,但各个维度的大小改变。参数说明:repeats 每个元素项的复制次数,单个整数或者整数列表,可以根据指定axis,动态broadcast到合适shape。 axis 指定哪个轴进行repeat,默认None时repeat会先flat原创 2020-08-14 20:16:28 · 1226 阅读 · 1 评论 -
python多进程的一些心得体会
python的multiprocessing库博大精深,有很多细节记录下:1、使用定义Process子类的方法,无法使用pool列表将其包含进来二次引用进行全局控制。2、使用Process指定target的方法可以使用pool列表将多个进程包含进来,进而进行统一控制,比如join操作。3、可以使用multiprocessing的Manager定义进程间共享对象,但如果共享object的...原创 2020-03-08 19:21:18 · 217 阅读 · 0 评论 -
python—dict使用总结和思考
在python中,dict和list是两种常见数据类型,dict用于内容空间足够、依据值快速检索的场景,list用于内存空间有限、根据下标快速检索的场景。使用场景:List:类似于C中的array数组,数据存储在一段连续内存空间中;根据值查询时候,需要从头到尾逐一遍历,复杂度O(N)。根据索引index查询时候,直接做索引index偏移,复杂度O(1)。Dict:在python底层实现...原创 2020-01-29 18:04:26 · 1219 阅读 · 0 评论 -
python的函数、方法、闭包的作用
和scala一样,python也区分函数和方法。function和method:(1)在python中,函数是一个独立、执行语句的一个整体,是可以直接调用的。而方法无法单独存在,需要依附于对象object而存在。也就是说,方法是写在class中的,调用method必须通过class的object才行。(2)方法其实是一种特殊函数,写在class中,属于object的一种函数。(3)...原创 2019-10-18 23:13:50 · 409 阅读 · 0 评论