【文献阅读】Fashion-MNIST: a Novel Image Dataset for Benchmarking Machine Learning Algorithms


推荐阅读:数据制作

paper 地址:https://arxiv.org/abs/1708.07747
数据集下载:https://github.com/zalandoresearch/fashion-mnist
上个月底突然被Fashion-MNIST刷屏,于是乎看看这个数据集是个什么样的数据集。

命名技巧:

Fashion-MNIST其命名很有技巧,“蹭”了MNIST,要不然也火不了。就像JAVAsript 的命名,JAVAsript和JAVA没啥关系,就是“蹭”热度,起个好名字啊!引用知乎 的图片:
这里写图片描述

项目目的:

制作这个数据集的目的就是取代MNIST,作为机器学习算法良好的“检测器”,用以评估各种机器学习算法。为什么不用MNIST了呢? 因为MNIST就现在的机器学习算法来说,是比较好分的,很多机器学习算法轻轻松松可以达到99%,因此无法区分出各类机器学习算法的优劣。
为了和MNIST兼容,Fashion-MNIST 与MNIST的格式,类别,数据量,train和test的划分,完全一致。

数据源:

paper中提到,数据来源于Zalando’s website . 这是什么鬼? 查了一下才知道,Zalando是德国的电商, 其主要产品是服装和鞋类。再一看作者,是Zalando研究部门的,好吧。可不可以认为是打广告呢!剩下一大笔广告费啊!作者是华人:肖涵。
数据来自不同gender group: men women kids and neutral ;并且,不包含白色的商品,因为白色商品与背景的对比度较低。

类别如下:

标注编号描述
0T-shirt/top(T恤)
1Trouser(裤子)
2Pullover(套衫)
3Dress(裙子)
4Coat(外套)
5Sandal(凉鞋)
6Shirt(汗衫)
7Sneaker(运动鞋)
8Bag(包)
9Ankle boot(踝靴)

-----------------------------------------------分割线----------------------------------------------------

名称描述样本数量文件大小链接
train-images-idx3-ubyte.gz训练集的图像60,00026 MBytes下载
train-labels-idx1-ubyte.gz训练集的类别标签60,00029 KBytes下载
t10k-images-idx3-ubyte.gz测试集的图像10,0004.3 MBytes下载
t10k-labels-idx1-ubyte.gz测试集的类别标签10,0005.1 KBytes下载

数据制作:

在paper中有一点比较值得学习,就是图片如何制作成 2828的灰度图的过程,可以借鉴此种方法来对自己的图片进行“resize”。
最原始图片是背景为浅灰色的,分辨率为762
1000 的JPEG图片。然后经过resampled 到 5173 的彩色图片。然后依次经过以下7个步骤,最终得到2828的灰度图
这里写图片描述

  1. JPEG --> PNG
  2. 裁剪背景
  3. 按比例: m a x ( h , w ) 28 \frac{max(h,w)}{28} 28max(h,w) 将图像缩放,也就是将一个维度缩放至28
  4. 锐化
  5. 再扩充至28*28,再把object调整至图片中央
  6. 将所有像素点取反,即 255-intensity (感谢网友Jing_xian的指正)
  7. 转化成28*28的灰度图

这一套方法觉得比平时仅采用resize或许会好,可以考虑尝试

<think>好的,我现在需要回答用户关于JMeter集合点(rendezvous point)的使用和配置的问题。首先,我得确认用户提到的“集合点”在JMeter中的对应实现。根据之前的引用内容,用户已经提到了JMeter使用Synchronizing Timer来实现类似LoadRunner中的集合点功能,用于模拟多用户并发请求[^4]。所以我的第一步是确认Synchronizing Timer的正确使用方法。 接下来,我需要回忆Synchronizing Timer的配置步骤。根据JMeter的文档,Synchronizing Timer的作用是让多个线程在某个点等待,直到达到指定的用户数量,然后同时释放这些请求,以模拟并发。用户可能需要知道如何添加这个定时器以及配置参数,比如Number of Simulated Users to Group by和Timeout in milliseconds。 然后,我应该考虑用户可能遇到的实际应用场景,比如测试秒杀系统或高并发接口。这时候需要举例说明在测试计划中添加Synchronizing Timer的位置,通常是在某个HTTP请求的子节点或者作为同级的定时器。同时,要注意超时时间的设置,避免线程长时间等待导致测试失败。 另外,需要提醒用户关于集合点使用的注意事项,比如合理设置并发用户数,避免服务器压力过大;超时时间不宜过长或过短;以及结合监听器来分析测试结果。这些点都是配置时容易忽略但重要的部分。 最后,根据用户提供的引用资料,特别是引用[4]提到的内容,我需要确保回答中正确引用这些信息,并指导用户如何实际应用这些配置步骤。可能还需要生成相关问题,帮助用户进一步了解JMeter的其他功能或优化方法,比如分布式测试或参数化配置。</think>### JMeter集合点(Synchronizing Timer)的使用及配置 在JMeter中,**集合点**通过`Synchronizing Timer`组件实现,用于模拟多用户在同一时刻发起并发请求。以下是具体步骤和配置说明: --- #### 一、配置步骤 1. **添加线程组** 右键测试计划 → 添加 → 线程(用户)→ 线程组,设置线程数(模拟用户数量)。 2. **添加HTTP请求** 右键线程组 → 添加 → 取样器 → HTTP请求,配置目标接口地址和参数。 3. **添加Synchronizing Timer** 右键HTTP请求(或其父级)→ 添加 → 定时器 → `Synchronizing Timer`。 - **关键参数**: - **Number of Simulated Users to Group by**:触发并发的最小用户数(例如设置为10,表示当10个线程到达时同时释放请求)。 - **Timeout in milliseconds**:最大等待时间(超时后,即使未达到指定用户数,线程也会继续执行)。 --- #### 二、典型应用场景 - **秒杀系统测试**:模拟大量用户同时抢购商品。 - **登录压力测试**:测试系统在高并发登录时的响应能力。 - **API并发验证**:验证接口在突发流量下的稳定性。 --- #### 三、注意事项 1. **线程组设置** 集合点的并发效果依赖线程组的用户数。例如,若设置`Number of Simulated Users=50`,则线程组中线程数应≥50。 2. **超时时间建议** - 超时时间不宜过长(避免线程卡死),一般设置为`1000-5000ms`。 - 若设为`0`,则线程会无限等待直到满足用户数[^4]。 3. **监听器配合** 添加`聚合报告`或`查看结果树`,分析并发请求的响应时间和成功率。 --- #### 四、示例配置 ```plaintext 测试计划 └── 线程组(线程数:100) ├── HTTP请求 └── Synchronizing Timer ├── Number of Simulated Users: 20 └── Timeout: 3000 ``` ---
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值