我安装了CUDA 9.0,因为没有它,Tensorflow会给出错误:
ImportError:找不到“ cudart64_90.dll”。TensorFlow要求将此DLL安装在%PATH%环境变量中命名的目录中。
我将路径变量设置为CUDA 9.0安装的bin目录,其中存在所需的DLL文件。我也尝试将其设置为其父目录。但这仍然给我同样的错误。我重新启动了Jupuyter笔记本内核,但没有帮助。
之前我尝试使用python中的threading模块来创建多个线程。然后我了解了GIL以及它如何不允许在一台机器上利用多个 CPU 内核。所以现在我正在尝试进行多处理(我并不严格需要单独的线程)。
这是我编写的示例代码,用于查看是否正在创建不同的进程。但是从下面的输出中可以看出,我每次都得到相同的进程 ID。所以没有创建多个进程。我错过了什么?
import multiprocessing as mp
import os
def pri():
print(os.getpid())
if __name__=='__main__':
# Checking number of CPU cores
print(mp.cpu_count())
processes=[mp.Process(target=pri()) for x in range(1,4)]
for p in processes:
p.start()
for p in processes:
p.join()
Run Code Online (Sandbox Code Playgroud)
输出:
4
12554
12554
12554
Run Code Online (Sandbox Code Playgroud) 我有一个日志文件,其中包含各个线程的执行开始时间和结束时间。我已经完成了一半的工作,但我需要一些帮助来完成另一半。我写了这个命令 -
cat 2017-05-15.log | grep 'Executing ETL' | tr -s ' ' | cut -f2,3,4,5,8 -d' ' | sort -k5 -n
Run Code Online (Sandbox Code Playgroud)
产生以下输出:
15 May 2017 03:43:40 696
15 May 2017 03:44:35 696
15 May 2017 03:45:02 696
15 May 2017 23:30:22 9502
15 May 2017 23:49:40 9502
15 May 2017 23:50:50 9502
15 May 2017 23:51:11 9502
15 May 2017 23:52:11 9502
15 May 2017 23:52:42 9502
15 May 2017 02:18:32 12795
15 May 2017 02:19:35 12795
15 May …Run Code Online (Sandbox Code Playgroud)