图1 SIMBA模型概述 2.2 对scRNA-seq分析 作者将SIMBA应用于10x Genomics的PBMCs数据集。首先使用UMAP可视化SIMBA获得的细胞嵌入。 图2 使用SIMBA对10x BPMC数据集分析 2.3 对scATAC-seq分析 为了证明SIMBA提取的特征在scATAC-seq分析中的价值,作者首先将SIMBA应用于包含2034个人类造血细胞的 SIMBA的细胞类型特异性指标成功揭示了毛囊分化过程中重要的关键基因和调控因子。图4c显示了SIMBA嵌入的UMAP可视化和基于SIMBA度量图的信息特征。 作者基于SIMBA评估TF基序和基因的细胞类型特异性,并基于TF基序在共享SIMBA嵌入空间中的距离对所有潜在的主调控因子进行排名。 图6 使用SIMBA整合多组学数据 3 总结 SIMBA将单个细胞或特征作为节点编码到图中,并使用可扩展的图嵌入将细胞和特征嵌入到共享的潜在空间中。
来自微软的研究人员介绍了SiMBA,这是一种引入EinFFT进行通道建模的新架构。SiMBA体系结构将Mamba用于序列建模,并引入EinFFT作为一种新的通道建模技术。 SiMBA的信道混合包含三个主要组件:频谱变换、使用爱因斯坦矩阵乘法的频谱门控网络和逆频谱变换。EinFFT通过在复数表示上应用爱因斯坦矩阵乘法来利用频域信道混合。 在ImageNet 1K数据集上的评估表明,SiMBA的出色性能达到了84.0%的前1准确率,优于著名的卷积网络和transformers。 性能评估显示SiMBA在各种指标上的优势,包括均方误差(MSE)和平均绝对误差(MAE),超过了最先进的模型。 论文地址: https://arxiv.org/abs/2403.15360 官方代码: https://github.com/badripatro/Simba
.20131102-123753.ubuntu.4044.log -rw-rw-r-- 1 simba simba 196K Nov 2 05:37 logfile_test.20131102-123756 .ubuntu.4044.log -rw-rw-r-- 1 simba simba 196K Nov 2 05:38 logfile_test.20131102-123759.ubuntu.4044 .log -rw-rw-r-- 1 simba simba 196K Nov 2 05:38 logfile_test.20131102-123802.ubuntu.4044.log -rw-rw-r -- 1 simba simba 196K Nov 2 05:38 logfile_test.20131102-123805.ubuntu.4044.log -rw-rw-r-- 1 simba simba 196K Nov 2 05:38 logfile_test.20131102-123808.ubuntu.4044.log -rw-rw-r-- 1 simba simba 87K Nov 2
首先,通过简单结合基于迁移的方法(TIMI [1])和基于查询(query)的方法 (SimBA [3]), 我们提出了一个强黑盒攻击基线方法:SimBA++。 2 方法 2.1 两个强基线方法 SimBA+和SimBA++ 首先介绍我们的强基线方法SimBA+和SimBA++。 这个方法被称为SimBA+,完整的算法流程如图三所示。该基线方法只针对SimBA做了非常小的修改,但实验表明SimBA+已经超过了现有的很多黑盒攻击方法。当然,它的攻击效率依然有大幅的提升空间。 ? 基于SimBA+和TIMI, 我们进一步提出SimBA++, 在攻击迭代过程中交替地运行基于迁移性的方法(TIMI)和基于query的方法 (SimBA+), 大大降低了攻击的查询次数。 SimBA++算法如图四。值得一提的是,SimBA++只是简单交替进行基于迁移和基于查询的黑盒攻击,但这一简单的方法却能显著超越此前的黑盒攻击方法。
/echoser_fork simba 3303 0.0 0.0 2008 60 pts/0 S+ 22:10 0:00 . ,而因为我们设置了父进程对SIGCHLD信号进行忽略,故不会产生僵尸进程,输出如下: simba@ubuntu:~$ ps aux | grep echoser simba 3300 0.0 如果把29行代码注释掉,上述的情景输出可能为: simba@ubuntu:~$ ps aux | grep echoser simba 3125 0.0 0.0 2004 280 > simba 3130 0.0 0.0 2004 60 pts/0 S+ 21:38 0:00 . 输出如下: simba@ubuntu:~/Documents/code/linux_programming/UNP/socket$ .
Hethen", "sand hecollects on Simba's brow---a ceremonial crown. He then picks Simba up and ascends", 'brow---aceremonial crown. He then picks Simba up and ascends to the point of Pride', 'picks Simba upand ascends to the point ,Rafiki holds Simba up for the crowd to view He then picks Simba… 0.211606 3 picks Simba up and ascends to the point of Pri… 0.156922 4 to the point
simba@ubuntu:~/Documents/build/debug/bin$ pid = 4792 child ... pid = 4792 Exiting main ... simba@ubuntu:~/Documents/build/debug/bin$ 因为父进程首先退出,故bash提到前台,子进程输出混杂在命令行。 执行结果如下: simba@ubuntu:~/Documents/build/debug/bin$ ./deadlock_test pid = 4823 Entering main ... simba@ubuntu:~/Documents/build/debug/bin$ ps aux | grep deadlock_test simba 4825 0.0 0.0 11684 simba@ubuntu:~/Documents/build/debug/bin$ 可以看到子进程也正常退出了。
simba@ubuntu:~/Documents/build/debug/bin$ pid = 4792 child ... pid = 4792 Exiting main ... simba@ubuntu:~/Documents/build/debug/bin$ 因为父进程首先退出,故bash提到前台,子进程输出混杂在命令行。 执行结果如下: simba@ubuntu:~/Documents/build/debug/bin$ ./deadlock_test pid = 4823 Entering main ... simba@ubuntu:~/Documents/build/debug/bin$ ps aux | grep deadlock_test simba 4825 0.0 0.0 11684 simba@ubuntu:~/Documents/build/debug/bin$ 可以看到子进程也正常退出了。
消息队列也有管道一样的不足,就是每个消息的最大长度是有上限的(MSGMAX),每个消息队列的总的字节数是有上限的(MSGMNB),系统上消息队列的总数也有一个上限(MSGMNI),这三个参数都可以查看: simba @ubuntu:~/Documents/code/linux_programming/UNP/system_v$ cat /proc/sys/kernel/msgmax 8192 simba@ubuntu :~/Documents/code/linux_programming/UNP/system_v$ cat /proc/sys/kernel/msgmnb 16384 simba@ubuntu:~/ ************************************************************ > File Name: basic.c > Author: Simba 输出如下: simba@ubuntu:~/Documents/code/linux_programming/UNP/system_v$ .
一、当我们使用单进程单连接且使用readline修改后的客户端程序,去连接使用readline修改后的服务器端程序,会出现一个有趣的现象,先来看输出: 先运行服务器端,再运行客户端, simba@ubuntu /echocli_recv_peek local ip=127.0.0.1 port=54005 可以先查看一下网络状态, simba@ubuntu:~$ netstat -an | grep 再ps 出服务器端的子进程,并kill掉它, simba@ubuntu:~$ ps -ef | grep echoser simba 4549 3593 0 15:57 pts/0 /echoser_recv_peek simba 4551 4549 0 15:57 pts/0 00:00:00 . /echoser_recv_peek simba 4558 4418 0 15:57 pts/6 00:00:00 grep --color=auto echoser simba@
设置根目录/usr/local/apache2,静态页面目录/data/simba/apache/htdocs/web 和 cgi-bin 目录/data/simba/apache/cgi-bin/ 7 mysql/bin/mysqladmin -u root password root@test mysql -A -uroot -proot@test // 新增用户,给予权限 create user simba identified by 'simba@test'; grant select,insert,update,delete, create, drop on *.* to simba@'%' identified by 'simba@test' ;
/semtool -v current val is 1 simba@ubuntu:~/Documents/code/linux_programming/UNP/system_v$ simba@ubuntu /semtool -v current val is 1 simba@ubuntu:~/Documents/code/linux_programming/UNP/system_v$ . /semtool -s 3 value updated... simba@ubuntu:~/Documents/code/linux_programming/UNP/system_v$ . /semtool -g current val is 3 simba@ubuntu:~/Documents/code/linux_programming/UNP/system_v$ . /semtool -p current val is 2 simba@ubuntu:~/Documents/code/linux_programming/UNP/system_v$ .
posix 消息队列也有一些对消息长度等的限制,man 7 mq_overview: simba@ubuntu:~/Documents/code/linux_programming/UNP/posix$ cat /proc/sys/fs/mqueue/msg_max 10 simba@ubuntu:~/Documents/code/linux_programming/UNP/posix$ cat /mq_send <prio> simba@ubuntu:~/Documents/code/linux_programming/UNP/posix$ . /mq_send 1 mq_open succ simba@ubuntu:~/Documents/code/linux_programming/UNP/posix$ . /mq_notify 的输出: simba@ubuntu:~/Documents/code/linux_programming/UNP/posix$ .
********************************************************** > File Name: echoser.c > Author: Simba 先编译运行服务器: simba@ubuntu:~/Documents/code/linux_programming/UNP/socket$ . /echoser 然后在另一个终端里用netstat命令查看: simba@ubuntu:~$ netstat -anp | grep 5188 (Not all processes could 现在编译运行客户端: simba@ubuntu:~/Documents/code/linux_programming/UNP/socket$ . /echocli 回到server所在的终端,看看server的输出: simba@ubuntu:~/Documents/code/linux_programming/UNP/socket$ .
//传输时不压缩的文件 # [ftp] //系统自带例子,没删 # path = /home/ftp # comment = ftp export area [simba ] //此名字即客户端使用rsync来同步的路径,只是模块名称,无需和文件夹名字相同 path=/usr/local/simba //实际需要同步的路径 comment=simba >>/etc/rsyncd.passwd //注意这里只需要服务器rsyncd.passwd 中的密码 chmod 600 /etc/rsyncd.passwd 2.测试 将服务器这个ip下的simba 目录中内容同步到本地客户机 /tmp目录 rsync -auv --password-file=/etc/rsyncd.passwd rsyncuser@10.5.5.235::simba /tmp
simba@ubuntu:~/Documents/code/linux_programming/UNP/system_v$ ipcs -m ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status simba@ /shm_write simba@ubuntu:~/Documents/code/linux_programming/UNP/system_v$ ipcs -m ------ Shared simba@ubuntu:~/Documents/code/linux_programming/UNP/system_v$ . /shm_read name = lisi age = 20 simba@ubuntu:~/Documents/code/linux_programming/UNP/system_v$ ipcs
printf("size=%ld, mode=%o\n", buf.st_size, buf.st_mode & 0777); close(shmid); return 0; } simba /shm_open size=36, mode=664 simba@ubuntu:~/Documents/code/linux_programming/UNP/posix$ ls -l /dev/ shm/xyz -rw-rw-r-- 1 simba simba 36 Jun 16 15:01 /dev/shm/xyz 即创建了一个36字节的共享内存段,在/dev/shm 目录下。 ERR_EXIT("mmap"); strcpy(p->name, "test"); p->age = 20; close(shmid); return 0; } simba /shm_write size=36, mode=664 simba@ubuntu:~/Documents/code/linux_programming/UNP/posix$ od -c /dev
port=51303 count = 1020 recv connect ip=127.0.0.1 port=51304 accept error: Too many open files simba 将 sleep(4); 注释掉,观察服务器端的输出如下: simba@ubuntu:~/Documents/code/linux_programming/UNP/socket$ . ********************************************************** > File Name: echoser.c > Author: Simba 来看一下输出: simba@ubuntu:~/Documents/code/linux_programming/UNP/socket$ ulimit -n 2048 simba@ubuntu:~/Documents @ubuntu:~/Documents/code/linux_programming/UNP/socket$ ulimit -n 2048 simba@ubuntu:~/Documents/code
****************************************************** > File Name: echoser_tcp.c > Author: Simba ****************************************************** > File Name: echocli_tcp.c > Author: Simba error"); echo_cli(sock); return 0; } server 使用fork 的形式来接受多个连接,server调用bind 会创建一个文件,如下所示: simba @ubuntu:~/Documents/code/linux_programming/UNP/socket$ ls -l /tmp/test\ socket srwxrwxr-x 1 simba simba ********************************************************** > File Name: echoser.c > Author: Simba
********************************************************* > File Name: process_.c > Author: Simba raise(sig) 等价于 kill(getpid(), sig) 给自己发送信号 */ 程序中注册信号在fork之前,故子进程也会继承,在子进程中对进程组发送了信号,故信号处理函数会被调用两次: simba /kill recv a sig=10 recv a sig=10 simba@ubuntu:~/Documents/code/linux_programming/APUE/signal$ ********************************************************* > File Name: process_.c > Author: Simba 而如上程序所示的话,输出为simba@ubuntu:~/Documents/code/linux_programming/APUE/signal$ .