美文网首页
python小知识手册

python小知识手册

作者: 读书三万本 | 来源:发表于2020-08-08 15:09 被阅读0次
    • open

      • open并不会把文件加载到内存,结合迭代器yield,完美解决大文件加载问题。之前的做法太暴力,把所有内容加载到内存然后进行处理,太简单粗暴!!!
    • np.broadcast

      • 当两个数组进行element-wise相乘时,维度进行又对齐,长度不一样的时候进行补充1;对应位置维度不一样,且其中一个为1时,对为1的部分进行相同元素补全,然后进行相乘。比如一个212的数组一个22的数组,最终输出一个22*2维的数组。
      • 具体可以参考numpy广播
      • 让所有输入数组都向其中形状最长的数组看齐,形状中不足的部分都通过在前面加 1 补齐。
      • 输出数组的形状是输入数组形状的各个维度上的最大值。
      • 如果输入数组的某个维度和输出数组的对应维度的长度相同或者其长度为 1 时,这个数组能够用来计算,否则出错。
      • 当输入数组的某个维度的长度为 1 时,沿着此维度运算时都用此维度上的第一组值。
    • 类方法

      • 实例方法,def func(self,xxx) # 第一个输入是【实例】属性,必须初始化实例后调用
      • 静态方法,@staticmethod; def func() # 不依赖类属性和实例参数,直接通过类名调用
      • 类方法,@classmethod; def func(cls,xxx) # 第一个参数是类本身‘
    • max-pooling的三种方法 (https://blog.csdn.net/malefactor/article/details/51078135

      • 每一步只保留最大,最原始的方法
      • top-k方法,在上一种简单的扩充
      • chunk-top-k方法,把向量分成k块,每个块取最大值 (map-reduce)。延伸到动态池化,在输入张量大小可变,输出大小确定情况,可以动态调整池化核(方法有两种,第二种没理解,最简单的是在不同的方向上划分为k块)
    • python 库安装

      • 下载whl包,然后pip install xxx.whl (通过conda,pip无法按照的时候)
    • python sum

      • sum(iterable[, start]), 可迭代对象的求和,默认是数的求和,利用start来决定数据类型
    • importlib

      • 根据字符串的形式,自动导入模块并使用反射找到模块中的类,并实例化对象,利用importlib和getattr实现的 # 帮忙解决了大问题
      • m = importlib.import_module(module_path); cls = cls = getattr(m,class_name); object = cls()
    • python快速开启一个远程服务,然后通过wget获取文件,so cool

      • python2: python -m SimpleHTTPServer 8080; wget http://【ip】:8080/xxx
      • python3: python -m http.server 8080

    相关文章

      网友评论

          本文标题:python小知识手册

          本文链接:https://www.haomeiwen.com/subject/ksjhdktx.html