1.
OMP: Warning #190: Forking a process while a parallel region is active is potentially unsafe.
可能问题:同时使用多个dataloader时,有时候会出现这个警告,同时cpu占用率飙升。
解决方案:将DataLoader初始化参数中的pin_memory设为False,问题解决。参考链接
原文链接:https://blog.youkuaiyun.com/zhjadsf/article/details/82983083
2.
Linux中怎么通过PID号找到对应的进程名及所在目录
有时候通过top命令可以看到有个别进程占用的内存比较大,但是top无法直接查看到进程名以及进程所在的目录。所以我们可以通过以下方法来定位。
首先需要知道PID号,可以通过top命令获取。
然后我们可以用ps看以下大致信息(ps出来的信息个人觉得比较乱,不是很方便查找)
[root@iZbp13806tx36fgoq7bzk1Z 28990]# ps -aux |grep -v grep|grep 28990
200 28990 0.7 14.0 5112056 1128224 ? Ssl Sep26 231:10 /opt/java/bin/java -server -Dinstall4j.jvmDir=/opt/java -Dexe4j.moduleName=/opt/sonatype/nexus/bin/nexus -XX:+UnlockDiagnosticVMOptions -Dinstall4j.launcherId=245 -Dinstall4j.swt=false -Di4jv=0 -Di4jv=0 -Di4jv=0 -Di4jv=0 -Di4jv=0 -Xms1200m -Xmx1200m -XX:MaxDirectMemorySize=2g -Djava.util.prefs.userRoot=/nexus-data/javaprefs -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -XX:+LogVMOutput -XX:LogFile=../sonatype-work/nexus3/log/jvm.log -XX:-OmitStackTraceInFastThrow -Djava.net.preferIPv4Stack=true -Dkaraf.home=. -Dkaraf.base=. -Dkaraf.etc=etc/karaf -Djava.util.logging.config.file=etc/karaf/java.util.logging.properties -Dkaraf.data=../sonatype-work/nexus3 -Djava.io.tmpdir=../sonatype-work/nexus3/tmp -Dkaraf.startLocalConsole=false -Di4j.vpt=true -classpath /opt/sonatype/nexus/.install4j/i4jruntime.jar:/opt/sonatype/nexus/lib/boot/nexus-main.jar:/opt/sonatype/nexus/lib/boot/org.apache.karaf.main-4.0.9.jar:/opt/sonatype/nexus/lib/boot/org.osgi.core-6.0.0.jar:/opt/sonatype/nexus/lib/boot/org.apache.karaf.diagnostic.boot-4.0.9.jar:/opt/sonatype/nexus/lib/boot/org.apache.karaf.jaas.boot-4.0.9.jar com.install4j.runtime.launcher.UnixLauncher run 9d17dc87 org.sonatype.nexus.karaf.NexusMain
[root@iZbp13806tx36fgoq7bzk1Z 28990]#
通过上面的信息我们也可以找出这是一个java进程,在/opt/sonatype/nexus/bin/nexus目录下,当然可以有别的更简单直接的方法.
得知PID之后可以直接进入/proc/28990
cwd符号链接的是进程运行目录;
exe符号连接就是执行程序的绝对路径;
cmdline就是程序运行时输入的命令行命令;
environ记录了进程运行时的环境变量;
fd目录下是进程打开或使用的文件的符号连接。
原文链接:https://www.cnblogs.com/jie-fang/p/7686521.html
3.
使用torch.hub.load()一行调用模型时,出现错误:
urllib.error.URLError: <urlopen error EOF occurred in violation of protocol (_ssl.c:841)>
直接访问master.zip是可以下载到的,查看torch.hub.load()文档,在jupyter中加载load()试了一下是可以的
然后这个问题就好了,猜测是什么缓存的差别?
4.
import cv2 模块找不到
安装OpenCV
(安装opencv之前需要先安装numpy,matplotlib等)
先安装opencv-python
pip install opencv-python
再安装opencv-contrib-python
pip install opencv-contrib-python
备注1:此种方法安装后,import cv2 as cv后,代码可以正常运行,但是无法自动补全
5.
wandb.errors.error.UsageError: Error communicating with wandb process
pip install --upgrade wandb==0.10.8