Python
Spratumn
行动派
展开
-
手撸网络结构—ResNet
ResNet 核心就是残差学习单元,相比常规神经网络残差学习单元能够避免出现梯度消失的现象。 ResNet使用两种残差单元,左图(BasicBlock)对应的是浅层网络,而右图(Bottleneck)对应的是深层网络。 在每组残差单元中,第一个单元需要进行下采样从而与单元输出的结果进行匹配。 resnet18采用的都是BasicBlock进行的叠加,前两组残差单元如下图: resnet50采...原创 2020-02-06 17:31:44 · 5729 阅读 · 0 评论 -
双线性插值(python实现)
线性插值 线性插值从字面上的意思理解就是,采用线性关系计算新插入的值的大小。更直观的,给定一个一元一次函数f(x)f(x)f(x)以及两个已知的点f(x1),f(x2)f(x_1),f(x_2)f(x1),f(x2),计算未知点f(x)f(x)f(x) 使用斜率的关系 f(x2)−f(x1)x2−x1=f(x)−f(x1)x−x1f(x)=(x2−x)x2−x1f(x1)+(x−x1)x2−...原创 2019-12-17 16:43:15 · 4317 阅读 · 0 评论 -
Python—命令行参数
命令行参数就是在使用命令行运行一个.py文件时,对一些程序中用到的参数进行赋值。如:程序中有一个变量username,在运行程序时输入不同的变量值就会使程序得到不同的执行结果。 在python使用命令行参数功能,只需引入argparse模块即可方便的创建命令行参数对象。 import argparse # 使用ArgumentParser()创建一个实例化对象 ap = argparse.Argu...原创 2019-11-05 16:26:33 · 253 阅读 · 0 评论 -
Python编程快速上手—2.自动化任务之正则表达式
目录自动化任务1. 模式匹配与正则表达式1.1 Regex对象与Match对象1.2 用正则表达式匹配更多模式1.2.1 利用括号分组1.2.2 用管道匹配多个分组1.2.3 用问号实现可选匹配1.2.4 用星号匹配零次或多次1.2.5 用加号匹配一次或多次1.2.6 用花括号匹配特定次数1.3 贪心和非贪心匹配1.4 findall()方法1.5 字符分类1.6 建立自己的字符分类1.7 插入字...原创 2019-08-28 16:33:55 · 266 阅读 · 0 评论 -
Python编程快速上手—2.自动化任务之调试
目录3.调试3.1 抛出异常3.2 取得反向跟踪的字符串3.3 断言3.4 日志3.4.1 使用日志模块3.4.2 日志级别3.4.3 将日志记录到文件 3.调试 调试器是 IDLE 的一项功能,它可以一次执行一条指令,在代码运行时,让你有机会检查变量的值,并追踪程序运行时值的变化。这比程序全速运行要慢得多,但可以帮助你查看程序运行时其中实际的值,而不是通过源代码推测值可能是什么。 3.1 抛出异...原创 2019-09-08 14:10:55 · 208 阅读 · 0 评论 -
Python编程快速上手—2.自动化任务之读写文件
目录2. 读写文件2.1 文件与文件路径2.1.1 当前工作目录2.1.2 绝对路径与相对路径2.1.3 用os.makedirs()创建新文件夹2.1.4 os.path 模块2.1.5 处理绝对路径和相对路径2.1.6 查看文件大小和文件夹内容2.1.7 检查路径有效性2.2 文件读写过程2.2.1 用 open()函数打开文件2.2.2 读取文件内容2.2.3 写入文件2.3 用 shelv...原创 2019-09-08 14:08:37 · 245 阅读 · 0 评论 -
python实现单例模式
单例模式(Singleton Pattern)负责创建自己的对象,同时确保只有单个对象被创建。 class Singleton: _instance = None def __init__(self,pram): print('init the instance') self.pram = pram def __new__(cls,*arg...原创 2019-09-23 17:10:04 · 134 阅读 · 0 评论 -
N皇后问题
class Queens: def __init__(self,num=8): """ 传入num指定方格尺寸 :param num: """ self._num = num self._result = [None]*self._num self.lay_queen(0) ...原创 2019-09-19 15:49:00 · 176 阅读 · 0 评论 -
计算数组逆序数(使用归并排序的分治思想)
分治思想 分解 解决子问题 合并 可以使用分治思想的问题有哪些特点: 原问题与分解成的子问题具有相同的模式 原问题分解成的子问题可以独立求解,子问题之间没有相关性 具有分解终止条件 可以将子问题合并成原问题,并且合并操作复杂度不能太高 以下以面向对象的方式实现归并排序相关功能: class Merge_sorter: def __init__(self): self...原创 2019-09-19 13:49:00 · 300 阅读 · 0 评论 -
python实现二叉树几种遍历
目录二叉树类中序遍历先序遍历后序遍历层序遍历 二叉树类 首先自定义一个二叉树类,下面所用到的二叉树均基于此二叉树类。 class TreeNode(): def __init__(self,value=None,left=None,right=None): self.val=value self.left=left self.right=ri...原创 2019-08-28 17:03:03 · 267 阅读 · 0 评论 -
KMP算法(python实现)
def get_max_same_str(s): """ 获取前后缀相同的最大长度 :param s: 要计算的字符串 :return: """ if len(s) == 1: return 0 l = len(s) i = l-1 j = 1 # 从最长前后缀开始比较,找到相等时直接返回 wh...原创 2019-09-16 09:44:09 · 363 阅读 · 0 评论 -
堆与堆排序(python实现)
class Heap: """ 既可以通过单个元素插入的方式建堆 也可以通过build_heap()传入现有列表的方式建堆(建堆时容量要匹配) """ def __init__(self,capacity): """ :param capacity: 堆的容量,可通过现有列表的len传入 """ ...原创 2019-09-18 15:00:09 · 207 阅读 · 0 评论 -
经典排序算法分析对比(python实现)
# 冒泡排序 O(n^2) #本地排序 def bobble_sort(arr): n = len(arr) for i in range(n-1): # 遍历n-1次 for j in range(i+1,n): # 每次遍历中,与首位比较n-i次 if arr[i]>...原创 2019-09-16 15:23:13 · 202 阅读 · 0 评论 -
plt.rcParams参数设置
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] # 用来显示中文标签 plt.rcParams['axes.unicode_minus']=False # 用来显示负号 plt.rcParams['figure.figsize'] = (16.0, 10.0) # 调整生成的图表最大尺寸 plt....原创 2019-09-08 13:59:59 · 5040 阅读 · 0 评论 -
自定义二叉树(python)及相关算法
# 自定义队列 class Node(): def __init__(self,data,next=None): self.data = data self.next=next class myque(): def __init__(self): self.length=0 self.left=None ...原创 2019-08-31 13:01:23 · 358 阅读 · 0 评论 -
Python编程快速上手—1.编程基础
Python编程基础 1.Python基础 1.1 字符串连接和复制 >>> 'Alice' + 'Bob' 'AliceBob' >>> 'Alice' * 5 'AliceAliceAliceAliceAlice' *操作符只能用于两个数字(作为乘法),或一个字符串和一个==整型==(作为字符 串复制操作符)。否则,Python 将显示错误信...原创 2018-07-21 14:43:47 · 523 阅读 · 0 评论