interleave

Kotlin: Merge Multiple Lists then ordering Interleaved merge list

 ̄綄美尐妖づ 提交于 2021-02-10 18:31:02
问题 I have class CatalogProduct(id: String, name: String) to declare a product I have two list below: val newestCatalogProductList = mutableListOf<CatalogProduct>() newestCatalogProductList.add(CatalogProduct("A1", "Apple")) newestCatalogProductList.add(CatalogProduct("A2", "Banana")) newestCatalogProductList.add(CatalogProduct("A3", "Orange")) newestCatalogProductList.add(CatalogProduct("A4", "Pineapple")) val popularCatalogProductList = mutableListOf<CatalogProduct>() popularCatalogProductList

my33_内存满导致mysqld被kill

我的梦境 提交于 2020-11-28 09:30:31
监控报警发现MGR的一个节点故障,查看时发现LVS已经发生切换,LVS切到了MGR新的写节点上了,排查原因 /var/log/message Mar 27 16 : 51 : 05 db10 kernel: crond invoked oom-killer: gfp_mask= 0x3000d0 , order= 2 , oom_score_adj= 0 Mar 27 16 : 51 : 05 db10 kernel: crond cpuset=/ mems_allowed= 0 - 1 Mar 27 16 : 51 : 05 db10 kernel: CPU: 35 PID: 12090 Comm: crond Tainted: G OE ------------ 3.10 . 0 - 693.21 . 1 .el7.x86_64 # 1 Mar 27 16 : 51 : 05 db10 kernel: Hardware name: Inspur SA5212M4/YZMB- 00370 - 109 , BIOS 4.1 . 16 06 / 21 / 2018 Mar 27 16 : 51 : 05 db10 kernel: Call Trace: Mar 27 16 : 51 : 05 db10 kernel: [<ffffffff816ae7c8>] dump_stack+

tensorflow2.0第4章 Tensorflow dataset使用

妖精的绣舞 提交于 2020-05-04 08:16:18
介绍Tensorflow dataset空间下API的使用,dataset API主要用于读取数据。本届课程通过在房价预测问题上的实战详细的介绍如何使用tf.dataset读取csv文件和tfrecord文件。 tf.data在tensorflow中是用于处理数据的,主要用来读取数据,并在一些数据中做一些预处理,然后把数据塞给训练程序去进行训练. 实战内容: Dataset基础API使用. Dataset读取csv文件. Dataset读取tfrecord文件. API列表: Dataset基础使用(tf.data.Dataset.from_tensor_slices; repeat,batch,interleave,map,shuffle,list_files); csv(tf.data.TextLineDataset,tf.io.decode_csv); Tfrecord(tf.train.FloatLlist,tf.train.Int64,tf.trian.BytesList; tf.train.Feature,tf.train.Features,tf.train.Example; example.SerializeToString; tf.io.ParseSingExample; tf.io.VarLenFeature,tf.io.FixedLenFeature; tf

tensor的复制函数torch.repeat_interleave()

孤街醉人 提交于 2020-05-02 09:45:33
1. repeat_interleave(self: Tensor, repeats: _int, dim: Optional[_int]=None) 参数说明: self: 传入的数据为tensor repeats: 复制的份数 dim: 要复制的维度,可设定为0/1/2..... 2. 例子 2.1 Code 此处定义了一个4维tensor,要对第2个维度复制,由原来的1变为3,即将设定dim=1。 1 import torch 2 3 4 def function(): 5 data1 = torch.rand([2, 1, 3, 3 ]) 6 print ( " data1_shape: " , data1.shape) 7 print ( " data1: " , data1) 8 9 data2 = torch.repeat_interleave(data1, repeats=3, dim=1 ) 10 print ( " data2_shape: " , data2.shape) 11 print ( " data2: " , data2) 12 13 14 if __name__ == ' __main__ ' : 15 function() View Code 2.2 输出显示 即可看到输入tensor形状为[2, 1, 3, 3],经过repeat后

NUMA导致的MySQL服务器SWAP问题分析与解决方案

天大地大妈咪最大 提交于 2020-05-02 05:06:26
【SWAP产生原理】 先从swap产生的原理来分析,由于linux内存管理比较复杂,下面以问答的方式列了一些重要的点,方便大家理解: 1、swap是如何产生的 swap指的是一个交换分区或文件,主要是在内存使用存在压力时,触发内存回收,这时可能会将部分内存的数据交换到swap空间。 2、内存回收的机制 <1>Linux内核使用cache对部分文件进行缓存,提升文件读写效率。所以 引入了kswapd进程进行周期性检查,保证剩余内存空间。 <2>当内存分配没有足够的空间时,直接内存回收。 3、内存回收如何实现 这部分实现非常复杂,简单来说,内存回收操作主要针对内存的文件页和匿名页,这些页都通过LRU链表来管理。 其中anon的匿名页内存主要回收手段是swap,文件页释放方式是写回和清空。 4、讲几个重要的概念 <1>内存节点node,在NUMA的情况下,CPU访问不同位置的内存,会有本地内存和远端内存之分,这两个就是不同的节点。 <2>内存分区 zone,linux对内存节点做了进一步划分,将一个节点划分为不同的区。内存管理的逻辑以zone为单位。 <3>内存水位标记,分为high、low、min 通过下图可以比较直观的了解 5、内存回收行为 <1>当系统剩余内存低于low时,kswapd开始起作用进行内存回收,直到内存达到high水位。 <2>当剩余内存达到min时就会触发直接回收。

从一个CFS调度案例谈Linux系统卡顿的根源

最后都变了- 提交于 2020-04-24 09:49:44
Linux系统是一个让人感觉卡顿的系统,先别怼,让我说完: 卡顿的原因在于Linux内核的调度器从来不关注业务场景! Linux内核只能看到机器而不愿意看到应用。它倾向于自下而上从CPU角度提高吞吐,而不是自上而下从业务角度提高用户体验。 拟人来看,Linux是一个好程序员,但不是一个好经理。 万事必有因缘,Linux就是一个程序员发起一帮程序员折腾起来的,几乎没有穿西装的经理之类的人参与。 程序员天天挂在嘴边的就是性能,时间复杂度,cache利用率,CPU,内存,反之,经理每天吆喝的就是客户,客户,客户,体验,体验,体验! 前天晚上下班回到住处已经很晚,姓刘的副经理请教了我一个问题,说是他在调试一个消息队列组件,涉及到生产者,消费者等多个相互配合的线程,非常复杂,部署上线后,发现一个奇怪的问题: 整个系统资源似乎被该组件的线程独占,该消息队列组件的效率非常高,但其系统非常卡顿! 我问他有没有部署cgroup,cpuset之类的配置,他说没有。 我又问他该消息队列组件一共有多少线程,他说不多,不超过20个。 我又问…他说… … 我感到很奇怪,我告诉刘副经理说让我登录机器调试下试试看,他并没有同意,只是能尽可能多的告诉我细节,我来远程协助。 … 我并不懂消息队列,我也不懂任何的中间件,调试任何一个此类系统对我而言是无能为力的,我也感到遗憾

Implementing the ruler function using `streamInterleave`

强颜欢笑 提交于 2020-01-24 22:14:24
问题 I am doing the homework of CIS 194. The problem is to implement the ruler function by using streamInterleave . The code looks like data Stream a = Cons a (Stream a) streamRepeat :: a -> Stream a streamRepeat x = Cons x (streamRepeat x) streamMap :: (a -> b) -> Stream a -> Stream b streamMap f (Cons x xs) = Cons (f x) (streamMap f xs) streamInterleave :: Stream a -> Stream a -> Stream a streamInterleave (Cons x xs) ys = Cons x (streamInterleave ys xs) ruler :: Stream Integer ruler =

Implementing the ruler function using `streamInterleave`

偶尔善良 提交于 2020-01-24 22:14:14
问题 I am doing the homework of CIS 194. The problem is to implement the ruler function by using streamInterleave . The code looks like data Stream a = Cons a (Stream a) streamRepeat :: a -> Stream a streamRepeat x = Cons x (streamRepeat x) streamMap :: (a -> b) -> Stream a -> Stream b streamMap f (Cons x xs) = Cons (f x) (streamMap f xs) streamInterleave :: Stream a -> Stream a -> Stream a streamInterleave (Cons x xs) ys = Cons x (streamInterleave ys xs) ruler :: Stream Integer ruler =

How to do bit striping on pixel data?

微笑、不失礼 提交于 2020-01-03 08:52:48
问题 I have 3 buffers containing R, G, B bit data running on a 32-bit processor. I need to combine the three bytes in the following way: R[0] = 0b r1r2r3r4r5r6r7r8 G[0] = 0b g1g2g3g4g5g6g7g8 B[0] = 0b b1b2b3b4b5b6b7b8 int32_t Out = 0b r1g1b1r2g2b2r3g3 b3r4g4b4r5g5b5r6 g6b6r7g7b7r8g8b8 xxxxxxxx where xxxxxxxx is continuing on to each of the next bytes in the buffers. I am looking for an optimal way to combine them. My approach is definitely not efficient. Here is my approach static void

How to do bit striping on pixel data?

流过昼夜 提交于 2020-01-03 08:52:42
问题 I have 3 buffers containing R, G, B bit data running on a 32-bit processor. I need to combine the three bytes in the following way: R[0] = 0b r1r2r3r4r5r6r7r8 G[0] = 0b g1g2g3g4g5g6g7g8 B[0] = 0b b1b2b3b4b5b6b7b8 int32_t Out = 0b r1g1b1r2g2b2r3g3 b3r4g4b4r5g5b5r6 g6b6r7g7b7r8g8b8 xxxxxxxx where xxxxxxxx is continuing on to each of the next bytes in the buffers. I am looking for an optimal way to combine them. My approach is definitely not efficient. Here is my approach static void