精华内容
下载资源
问答
  • 记一次用Python统计全国女性Size

    万次阅读 多人点赞 2020-03-27 10:00:18
    最近闲来无事,又正好在学习Python数据分析统计,于是便萌生一种想法:统计京东购买记录,分析全国女性平均Size 准备工作 首先查询京东网站,输入查询内容xz,查到87万+商品 购买size可以在评论区找到(就摆在那儿...

    前言

    • 最近闲来无事,又正好在学习Python数据分析统计,于是便萌生一种想法:统计京东购买记录,分析全国女性平均Size

    准备工作

    • 首先查询京东网站,输入查询内容xz,查到87万+商品
    • 购买size可以在评论区找到(就摆在那儿,那也太简单了,后面才知道我想多了。。。)
      在这里插入图片描述
    • 先看域名,发现每一个域名的构成都是https://item.jd.com/然后加一串数字.html,经验告诉我,这串数字一定是商品id。
    • 找id的话就要到搜索页面找了,果然,在分析搜索页面之后,发现id就躺在静态页面中。在这里插入图片描述
    • 思路有了,准备写代码。。。

    开始码代码

    • 第一步当然是获取id了,通过分析搜索域名(不得不说jd的反爬机制,唉,这里不好评价,自行体会,分析过程如下。)在这里插入图片描述
    • 需要注意的就是keyword,wq(全拼),还有后面的page和s,这几个参数是改变的

    keyword传入商品名称,wq传入商品全拼,page传入商品页(jd是按照奇数排序),s的话,需要计算,见代码。

    #爬取商品id
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0'}
    def get_id(key_word,wq):
        #jd_url='https://search.jd.com/Search?keyword=%E5%A5%B3%E6%80%A7%E5%86%85%E8%A1%A3&enc=utf-8&wq=%E5%A5%B3%E6%80%A7nei%27yi&pvid=fafd7af082734ae1a4a6cb674f98b2e4'
        jd_url = 'https://search.jd.com/Search'
        product_ids = []
        # 爬前3页的商品
        j = 51;
        for i in range(17,25,2):
            param = {'keyword': key_word, 'enc': 'utf-8', 'qrst':'1', 'rt':1, 'stop':1, 'vt':2, 'wq':wq, 'page':i, 's':j, 'click':0}
            response = requests.get(jd_url,params = param,headers=headers)
            # 商品id
            ids = re.findall('data-pid="(.*?)"', response.text,re.S)
            product_ids += ids
            if i!= 3:
                j = j+50+i-4;
            else:
                j+=50
        return product_ids
    
    • 获取id之后我们进入页面,准备获取评价里的购买尺寸,用静态网站方法爬一下,正则表达式分析一手,发现根本无法获得购买尺寸,再一看,获取的html页面中根本没有评价内容,经验告诉我这是通过json接口传入的。
    • 于是,就开始了我的找接口。。。。(此处省略两个小时)
    • 在我的不懈努力下,终于找到了接口。。。图片.png
    • 下面分析接口url(也不难)。
      图片.png- 分析并不难,直接上代码,这次没有用params的参数,而是用的字符串拼接,因为params一直报错,搞了好久。
    #爬取Size
    def getSizes(ids):
        Sizes = []
        for id in ids:
            for i in range(0,8):
                url = 'https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId='+id+'&score=0&sortType=5&page='+str(i)+'&pageSize=10&isShadowSku=0&fold=1'
                response = requests.get(url)
                size = re.findall('"productSize":"(.*?)"',response.text)
                Sizes+=size
        return Sizes
    
    • 爬取Size后,发现Size并不统一,有的用XXL,有的用ABC,所以需要清洗一下获取的数据,如下
    #数据清洗(统一尺码)
    def unified(str):
        if 'E' in str:
            return 'E'
        if 'D' in str:
            return 'D'
        if 'C' in str:
            return 'C'
        if 'B' in str:
            return 'B'
        if 'A' in str:
            return 'A'
        if 'XXL' in str:
            return 'E'
        if 'XL' in str:
            return 'D'
        if 'L' in str:
            return 'C'
        if 'M' in str:
            return 'B'
        if 'S' in str:
            return 'A'
        if '均码' in str:
            return 'B'
        if '大' in str:
            return 'C'
        if '小' in str:
            return 'A'
    
    • 搞定这一切后,想要对Size进行分析,但是我感觉直接在PyCharm里面分析有点难看,好吧,主要是想用上最近学的juty notebook。于是我便把获取到的数据先写入MySQL,再转到juty notebook进行分析。
    #运行并写入数据库
    conn = pymysql.connect(host='localhost',user='root',password='123',database='size',port=3306) #连接数据库
    cursor = conn.cursor()
    ids = get_id("胸罩","xiong'zhao") #获取id
    Sizes = getSizes(ids) #获取sizes
    Sizes_flush = [] 
    for size in Sizes:  #清洗Sizes
        if unified(size) is not None:
            Sizes_flush+=unified(size)
            sql = "INSERT INTO jd_size(size) values('" + unified(size) + "');"
            cursor.execute(sql)  #入库
            conn.commit()
    

    开始分析

    • 首先连接数据库并读入数据
      在这里插入图片描述
    • 然后对获取到的数据进行分类汇总
      在这里插入图片描述
    • 汇总之后就明显可以看出来,B占大多数了,然后开始绘制一下饼图。在这里插入图片描述
    • 果然,B占一半以上,接下来再绘制一下直方图。在这里插入图片描述

    很直观是不是?最后送大家一套2020最有趣的Pyhon项目实战视频教程,点我进来获取,跟着练习下,希望大家一起进步哦!

    至此,我们的分析项目就完成了,经统计,全国女性大多为B杯。

    完整项目代码见https://github.com/lrffun/My_Python/tree/master/Size

    展开全文
  • 成功解决IndexError: index 0 is out of bounds for axis 1 with size 0 目录 解决问题 解决思路 解决方法 解决问题 IndexError: index 0 is out of bounds for axis 1 with size 0 解决思路 ...

    成功解决IndexError: index 0 is out of bounds for axis 1 with size 0

     

    目录

    解决问题

    解决思路

    解决方法


     

     

    解决问题

    IndexError: index 0 is out of bounds for axis 1 with size 0

     

     

     

    解决思路

    查看列表,输出列表内容,查看列表的形状,发现列表的确是空值,所以修改列表内容即可!

    print(list.shape)

     

     

     

    解决方法

    y = train_np[:, 0]
    
    print(train_np)  
    
    
    #修改列表的内容使其不为空列表即可!

    大功告成!哈哈!

    展开全文
  • Shallow Size: Shallow size就是对象本身占用内存的大小,不包含其引用的对象。 常规对象(非数组)的 Shallow size 由其成员变量的数量和类型决定。 数组的shallow size有数组元素的类型(对象类型、基本类型)...

    Shallow Size:

    Shallow size就是对象本身占用内存的大小,不包含其引用的对象。

    • 常规对象(非数组)的 Shallow size 由其成员变量的数量和类型决定。
    • 数组的shallow size有数组元素的类型(对象类型、基本类型)和数组长度决定。

    在32位系统上,

    • 对象头占用 8 字节
    • int 占用4字节
    • 不管 成员变量(对象或数组)是否引用了其他对象(实例)或者赋值为null它始终占用4字节。

    故此,对于String对象实例来说,它有三个 int 成员(34=12字节)、一个 char[] 成员(14=4字节)以及一个对象头(8字节),总共34 +14+8=24字节。
    根据这一原则,对 String mStr=”rosen jiang”来说,实例 mStrshallow size也是24字节。(注意:上述String是jdk1.5的,代码如下:)

    public final class String
        implements java.io.Serializable, Comparable<String>, CharSequence
    {
        /** The value is used for character storage. */
        private final char value[];
     
        /** The offset is the first index of the storage that is used. */
        private final int offset;
     
        /** The count is the number of characters in the String. */
        private final int count;
     
        /** Cache the hash code for the string */
        private int hash; // Default to 0
    	.....
    	
    	}
    

    Retained Size:

    对象的Retained Size = 对象本身的Shallow Size + 对象能直接或间接访问到的对象的Shallow Size
    也就是说 Retained Size 就是该对象被 Gc 之后所能回收内存的总和。

    为了更好地理解Retained Size,看下图对象的引用对象可以归纳为:该对象到其他对象有引用关系并且该引用对象到 Gc Root 节点是不可达的,所以有

    • 左图 obj1 的 Retained Size = obj1 + obj2 + obj4 的 Shallow size
    • 右图 obj1 的 Retained Size = obj1 + obj2 + obj4 +obj3 的 Shallow size

    总之,Retained size是一个整体度量,能反映内存结构和对象图的依赖关系,还可以找到根节点。

    图一

    在进行垃圾回收时,如果实例对象到 Gc Root 是不可达的,那么该对象会被回收,如下图的 Object F 和 Object I

    Heap Size:

    堆的大小,当资源增加,当前堆的空间不够时,系统会增加堆的大小,若超过上限(如64M,阈值视平台而定)则会被杀掉 。

    Allocated:

    堆中已分配的大小,即 App 应用实际占用的内存大小,资源回收后,此项数据会变小。

    建议:若单一操作反复进行,堆大小一直增加,则有内存泄露的隐患,可采用MAT进一步查看。


    https://blog.csdn.net/yincheng886337/article/details/50517375
    https://blog.csdn.net/kingzone_2008/article/details/9083327
    http://www.blogjava.net/rosen/archive/2010/05/21/321575.html

    展开全文
  • batch size设置技巧 谈谈batchsize参数

    万次阅读 多人点赞 2019-03-30 20:57:00
    深度学习中经常看到epoch、 iteration和batchsize,下面按自己的理解说说这三个的区别: (1)batchsize:批大小。在深度学习中,一般采用SGD训练,即每次训练在训练集中取batchsize个样本训练; (2)iteration:...

    深度学习中经常看到epoch、 iteration和batchsize,下面按自己的理解说说这三个的区别:

    (1)batchsize:批大小。在深度学习中,一般采用SGD训练,即每次训练在训练集中取batchsize个样本训练;
    (2)iteration:1个iteration等于使用batchsize个样本训练一次;
    (3)epoch:1个epoch等于使用训练集中的全部样本训练一次;

    举个例子,训练集有1000个样本,batchsize=10,那么:
    训练完整个样本集需要:
    100次iteration,1次epoch。

    1.当数据量足够大的时候可以适当的减小batch_size,由于数据量太大,内存不够。但盲目减少会导致无法收敛,batch_size=1时为在线学习,也是标准的SGD,这样学习,如果数据量不大,noise数据存在时,模型容易被noise带偏,如果数据量足够大,noise的影响会被“冲淡”,对模型几乎不影响。2.batch的选择,首先决定的是下降方向,如果数据集比较小,则完全可以采用全数据集的形式。这样做的好处有两点,

     1)全数据集的方向能够更好的代表样本总体,确定其极值所在。
    

    2)由于不同权重的梯度值差别巨大,因此选取一个全局的学习率很困难。

    3.增大batchsize的好处有三点:

         1)内存的利用率提高了,大矩阵乘法的并行化效率提高。
    
         2)跑完一次epoch(全数据集)所需迭代次数减少,对于相同的数据量的处理速度进一步加快。
    
         3)一定范围内,batchsize越大,其确定的下降方向就越准,引起训练震荡越小。
    

    4.盲目增大的坏处有三点:

    1)当数据集太大时,内存撑不住。

         2)跑完一次epocffe-master/tools/extra/parse_log.sh  caffe-master/tools/extra/extract_seconds.py和h(全数据集)所需迭代次数减少了,但要想达到相同的      精度,时间开销太大,参数的修正更加缓慢。
    
         3)batchsize增大到一定的程度,其确定的下降方向已经基本不再变化。
    

    总结:

         1)batch数太小,而类别又比较多的时候,真的可能会导致loss函数震荡而不收敛,尤其是在你的网络比较复杂的时候。
    
         2)随着batchsize增大,处理相同的数据量的速度越快。
    
         3)随着batchsize增大,达到相同精度所需要的epoch数量越来越多。
    
         4)由于上述两种因素的矛盾, Batch_Size 增大到某个时候,达到时间上的最优。
    
         5)由于最终收敛精度会陷入不同的局部极值,因此 Batch_Size 增大到某些时候,达到最终收敛精度上的最优。
    
         6)过大的batchsize的结果是网络很容易收敛到一些不好的局部最优点。同样太小的batch也存在一些问题,比如训练速度很慢,训练不容易收敛等。
    
         7)具体的batch size的选取和训练集的样本数目相关。
    

    还有一个代码上的细节:就是代码实现上选取一个batch的时候似乎是按着数据库的图片顺序选取输入图片的,所以在生成数据库的时候切记要shuffle一下图片顺序。caffe中ImageDataLayer有shuffle参数,生成lmdb时也有shuffle参数不必手动。

    显存占用不是和batch size简单成正比

    增大batch size能减缓梯度震荡,需要更少的迭代优化次数,收敛的更快,但是每次迭代耗时更长。
    https://zhuanlan.zhihu.com/p/31558973

    要想收敛到同一个最优点,使用整个样本集时,虽然迭代次数少,但是每次迭代的时间长,耗费的总时间是大于使用少量样本多次迭代的情况的。
    实际上,工程上在使用GPU训练时,跑一个样本花的时间与跑几十个样本甚至几百个样本的时间是一样的!当然得益于GPU里面超多的核,超强的并行计算能力啦。因此,在工程实际中,从收敛速度的角度来说,小批量的样本集是最优的,也就是我们所说的mini-batch。这时的batch size往往从几十到几百不等,但一般不会超过几千。

    样本量少的时候会带来很大的方差,而这个大方差恰好会导致我们在梯度下降到很差的局部最优点(只是微微凸下去的最优点)和鞍点的时候不稳定,一不小心就因为一个大噪声的到来导致炸出了局部最优点。
    与之相反的,当样本量很多时,方差很小,对梯度的估计要准确和稳定的多,因此反而在差劲的局部最优点和鞍点时反而容易自信的呆着不走了,从而导致神经网络收敛到很差的点上,跟出了bug一样的差劲。

    batch的size设置的不能太大也不能太小,因此实际工程中最常用的就是mini-batch,一般size设置为几十或者几百。
    对于二阶优化算法,减小batch换来的收敛速度提升远不如引入大量噪声导致的性能下降,因此在使用二阶优化算法时,往往要采用大batch哦。此时往往batch设置成几千甚至一两万才能发挥出最佳性能。
    GPU对2的幂次的batch可以发挥更佳的性能,因此设置成16、32、64、128…时往往要比设置为整10、整100的倍数时表现更优

    展开全文
  • 神经网络中Batch Size的理解

    万次阅读 多人点赞 2018-09-09 14:57:33
    Batch Size定义:一次训练所选取的样本数。 Batch Size的大小影响模型的优化程度和速度。同时其直接影响到GPU内存的使用情况,假如你GPU内存不大,该数值最好设置小一点。 为什么要提出Batch Size? 在没有使用...
  • 神经网络中Epoch、Iteration、Batchsize相关理解和说明

    万次阅读 多人点赞 2017-11-21 22:59:49
    微信公众号 看了半年论文,对这三个概念总是模棱两可,不是很清楚。所以呢!我就花了半天时间,收集网上写的很好的关于这三个概念的介绍,把他们总结到一起,希望能对大家有帮助!...batchsize的正...
  • python 中 numpy 模块的 size,shape, len的用法

    万次阅读 多人点赞 2018-07-08 20:05:26
    numpy 中有很多类方法可以对数组处理,下面将介绍三种常见的处理数组的方法.1.size的用法import numpy as np X=np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]]) number=X.size # 计算 X 中所有元素的个数 X_row=...
  • size_t和size_type

    千次阅读 多人点赞 2018-10-08 20:24:32
    为了使自己的程序有很好的移植性,C++程序员应该尽量使用size_t和size_type,而不是int,unsigned。 在标准C/C++的语法中,只有int float char bool等基本的数据类型,至于size_t,或size_type都是以后的编程人员...
  • Effect Size

    千次阅读 2018-12-12 20:08:17
    在展示统计结果的时候,除了提供F,t,p values 之外,有时也需要提供effect size。effect size 与样本容量无关,反应的是总体之间的统计的效应量。effect size 有很多类型,常见的有cohen's d, eta-squared(), ...
  • 关于vector大小(size)和容量(capacity)总结

    万次阅读 多人点赞 2016-04-08 22:37:03
    主要介绍了vector 容器大小相关的操作函数(size、max_szie、capacity),同时介绍了容器大小超出容器capacity能力会内存重新分配以及iterator失效简单分析。同时给出了避免内存重新分配的两种方法。
  • UserWarning: Using a target size (torch.Size([64])) that is different to the input size (torch.Size([64,1])) 解决 在forward(self, x)函数体中,在return x之前,加一句 x = x.squeeze(-1) 以达到降低一维...
  • 尽可能地设大batchsize "Large Batch Large Batch在 keypoints上也是有用的,大概能提到0.4到0.3的点的AP。" 在利用 ImageNet 训练 AlexNet 模型时,其中每 GPU 的最优批量大小为 512。如果我们希望使用...
  • pytorch lstm input_size, hidden_size说明

    千次阅读 2020-08-20 14:31:37
    了解了LSTM原理后,一直搞不清Pytorch中input_size, hidden_size和output的size应该是什么,现整理一下 假设我现在有个时间序列,timestep=11, 每个timestep对应的时刻上特征维度是50, 那么input_size就是50 然后说...
  • size_t和int区别

    万次阅读 多人点赞 2018-12-09 12:19:38
    size_t和int  size_t是一些C/C++标准在stddef.h中定义的。这个类型足以用来表示对象的大小。size_t的真实类型与操作系统有关。 在32位架构中被普遍定义为: typedef unsigned int size_t; 而在64位架构中被定义...
  • Shallow Size: 对象本身占用的内存空间,不包含其引用的对象,但在JAVA中除基本类型外,一切均为对象,也就是说持有的一直为对象的引用,如String类型对象,它主要包含3个int成员(3*4B)、1个char[]成员(1*4B)以及...
  • Spring Boot做文件上传时出现了The field file exceeds its maximum permitted size of 1048576 bytes.错误,显示文件的大小超出了允许的范围。查看了官方文档,原来Spring Boot工程嵌入的tomcat限制了请求的文件...
  • 本文旨在介绍pg_relation_size,pg_table_size,pg_indexes_size,pg_total_relation_size之间的关系。 详细信息 先通过一个例子来直观的展现一下他们的区别和联系。 存在一张带索引的表t,OID为16384,与该表相...
  • 在运行程序中: def forward(self, x): out = self.cnn(x) out = out.view(out.size()[0],...RuntimeError: view size is not compatible with input tensor's size and stride (at least one dimension spans acr
  • Entrypoint size limit

    千次阅读 2020-04-27 17:50:21
    vue-cli打包项目时警告: entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance. 解决 // vue.config.js module....
  • stack_size和heap_size大小设置

    万次阅读 2018-03-18 14:48:08
    1,Stack Size,一般小工程0X400足够,我们综合实验才设置0X1000就够用,所以默认无需设置太大。2,Heap Size,如果没有用到标准库的malloc,就是废物,纯属浪费内存,所以直接设置为0即可。...
  • size_type类型与size_t的异同

    千次阅读 2019-07-02 21:47:54
    1.什么是size_type? size_type 如同 int 、float等 一样也是一种数据类型,不同之处在于size_type会适应机器,不同的机器size_type会有不同的长度;只要你使用了这个类型,就使得你的程序适合这个机器。与实际机器...
  • string size must be a multiple of element size

    千次阅读 2019-06-17 23:07:54
    string size must be a multiple of element size # -*- coding:utf-8 -*- from threading import Thread import pybind_cv as binddemo import time import numpy as np filepath = "0217.h264" impor...
  • RuntimeError: size mismatch, m1: [10 x 43264], m2: [10816 x 2] at C:/w/b/windows/pytorch/aten/src\THC/generic/THCTensorMathBlas.cu:283
  • view size is not compatible with input tensor's size and stride

    千次阅读 多人点赞 2019-12-01 20:28:40
    RuntimeError: invalid argument 2: view size is not compatible with input tensor's size and stride (at least one dimension spans across two contiguous subspaces). Call .contiguous() before ...
  • 首先看一下三个函数的申明: //返回string长度,单位字节 ...size_t size() const noexcept; //C标准库函数,返回C风格字符串长度,单位字节 size_t strlen ( const char * str ); 实际项目中,C...
  • Your sheet size is: 16388602, 3 Max sheet size is: 1048576, 16384'背景解决方法 背景 今天在从数据库拉了一大批数据出来后,发现因为数据量太大,如果直接用pandas的to_excel或者to_csv去保存,会报以下错误: ...
  • size_t详细解释

    万次阅读 多人点赞 2018-03-11 14:31:12
    size_t在C语言中就有了。 它是一种“整型”类型,里面保存的是一个整数,就像int, long那样。这种整数用来记录一个大小(size)。size_t的全称应该是size type,就是说“一种用来记录大小的数据类型”。 通常我们用...
  • 【调参炼丹】 Batch_size和Epoch_size

    千次阅读 2019-03-18 17:52:04
    Batch_Size: 首先,batch_size来源于:小批量梯度下降(Mini-batch gradient descent) 梯度下降法是常用的参数更新方法,而小批量梯度下降是对于传统梯度下降法的优化。 深度学习中优化方法的对比 定义: ...
  • kernel_size

    千次阅读 2018-04-19 13:18:00
    kernel_size=(1,3)[flag] if flag==True:kernel_size=3 else: kernel_size=1 转载于:https://www.cnblogs.com/573177885qq/p/8882003.html
  • 报错:given input size (2048,6,6),caculated output size (2048,0,0) output size is too small at /pytorch/aten/src/thcunn/generic/spatialaveragepooling 因为inceptionv3报错的地方kernel大小是8...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 623,240
精华内容 249,296
关键字:

size