我在谷歌或stackoverflow上检查其他问题,他们正在谈论在脚本中运行cv2.imshow,但我的代码在jupyter笔记本中运行.
这是我的配置:
ubuntu 16.4x64
python 3.5
opencv 3.1.0
我启动了一个jupyter笔记本:这是我把它放在笔记本上的代码:
%pylab notebook
import cv2
cvim2disp = cv2.imread('data/home.jpg')
cv2.imshow('HelloWorld', cvim2disp)
cv2.waitKey() #image will not show until this is called
cv2.destroyWindow('HelloWorld') #make sure window closes cleanly
Run Code Online (Sandbox Code Playgroud)
当我执行这些代码.图像将显示在弹出窗口中,但是我无法通过单击右上角的x关闭此窗口,片刻之后,系统会提示我窗口没有响应,它会给我2个选择:等待","退出".如果我点击等待,那么它将在稍后显示相同的提示,如果我点击'fore quit',那么jupyter笔记本内核会死掉,我必须重新开始.
我谷歌周围,许多解决方案建议我应该添加此代码
cv2.startWindowThread()
Run Code Online (Sandbox Code Playgroud)
之前imshow,但情况变得更糟,内核永远挂起!任何人都知道发生了什么.
我添加了一个回调来降低学习率:
keras.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.5, patience=100,
verbose=0, mode='auto',epsilon=0.00002, cooldown=20, min_lr=0)
Run Code Online (Sandbox Code Playgroud)
这是我的张量回调:
keras.callbacks.TensorBoard(log_dir='./graph/rank{}'.format(hvd.rank()), histogram_freq=10, batch_size=FLAGS.batch_size,
write_graph=True, write_grads=True, write_images=False)
Run Code Online (Sandbox Code Playgroud)
我想确保它在我的训练期间被踢了,所以我想把学习率输出到tensorbaord.But我找不到我可以设置的地方.
我还检查了优化器api,但没有运气.
keras.optimizers.Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=None, decay=0.0, amsgrad=False)
Run Code Online (Sandbox Code Playgroud)
那么如何将学习率输出到tensorboad?
我怀疑我的一个循环中有问题,所以我用pdb.set_trace()设置了一个断点
import pdb
for i in range(100):
print("a")
pdb.set_trace()
print("b")
Run Code Online (Sandbox Code Playgroud)
在这个循环中检查变量几次之后,我决定继续这个编程而不再进一步中断.所以我尝试用b命令获取中断号码,没有列出中断.我想这行代码没有设置断点.但如何在不停止程序和更改代码的情况下获得这个"断点"?
我正在编写一个 python 包,我想使用 pdb 来调试它。当我尝试在其中一个文件中设置断点时,出现错误:
The specified object 'CaptureManager.frame' is not a function or was not found along sys.path
Run Code Online (Sandbox Code Playgroud)
我google了一下,找到了解决办法:
将包含我的文件的目录附加到 sys.path
sys.path.append(os.path.join(os.getcwd(),"project_cameo"))
Run Code Online (Sandbox Code Playgroud)
但是几次之后,我变得非常恼火,因为每次重新启动调试会话时我都必须这样做。有没有一种“聪明”的方法来做到这一点?
我正在尝试设置hostPath在 Pod 之间共享文件。
我正在遵循本指南配置 Pod 以使用持久卷进行存储。
这是 的配置文件pv,pvc,pod。
光伏:
kind: PersistentVolume
apiVersion: v1
metadata:
name: task-pv-volume
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/tmp/data"
Run Code Online (Sandbox Code Playgroud)
PVC:
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: task-pv-claim
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
Run Code Online (Sandbox Code Playgroud)
荚:
kind: Pod
apiVersion: v1
metadata:
name: task-pv-pod
spec:
volumes:
- name: task-pv-storage
persistentVolumeClaim:
claimName: task-pv-claim
containers:
- name: task-pv-container
image: nginx
ports:
- containerPort: …Run Code Online (Sandbox Code Playgroud) 最近开始学习opencv。我只有工程学学士学位。我很难理解这两种形态转换:黑帽、高帽。官方文件在这里
有人可以就这些操作的直觉是什么以及它的用途给出一些建议吗?
这是最小的工作示例:
import numpy as np
from skimage.io import imsave, imread
image = np.array([[[109, 232, 173],
[ 55, 35, 144]],
[[ 43, 124, 185],
[234, 127, 246]]], dtype=np.uint8)
imsave("test.jpg", image)
rb_image = imread("test.jpg")
print("original image")
print(image)
print("read back image")
print(rb_image)
Run Code Online (Sandbox Code Playgroud)
运行之后,结果是,从文件读回的ndarray与之不匹配
original image
[[[109 232 173]
[ 55 35 144]]
[[ 43 124 185]
[234 127 246]]]
read back image
[[[111 208 255]
[ 42 61 138]]
[[ 72 140 201]
[141 131 218]]]
Run Code Online (Sandbox Code Playgroud)
有人可以给我一些建议吗?
我用Scrapy编写了一个爬虫。
我正在将数据写入数据库的管道中有一个函数。我使用日志记录模块记录运行时日志。
我发现当我的字符串有中文时logging.error()会抛出异常。但是搜寻器一直在运行!
我知道这是一个小错误,但是如果存在严重的异常,并且搜寻器继续运行,我会错过它。
我的问题是:是否存在可以Scrapy在出现异常时强制停止的设置?
版本:0.50.0
在官方文档中。该博客有一个链接,它指导我如何制作每个函数的内存使用情况图。但是当我尝试运行本文中的确切代码时。
测试1.py
import time
@profile
def test1():
n = 10000
a = [1] * n
time.sleep(1)
return a
@profile
def test2():
n = 100000
b = [1] * n
time.sleep(1)
return b
if __name__ == "__main__":
test1()
test2()
Run Code Online (Sandbox Code Playgroud)
命令是:
mprof run test1.py
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
回溯(最近一次调用最后一次):
文件“test.py”,第 3 行,@profile NameError:名称“profile”未定义
这很奇怪,因为有官方的引用:
警告
如果您的 Python 文件从 memory_profiler import profile 导入内存分析器,则不会记录这些时间戳。注释掉导入,保留您的函数,然后重新运行。
因此,如果我想要每个函数的内存使用情况图,我需要注释掉 from memory_profiler import profile,但是当我注释掉它时,出现错误。
我发现moosefs垃圾占用了我过多的磁盘空间。根据moosefs文档,它将保留一段时间,以防用户需要。但是如何手动清理以节省空间?
python ×5
opencv ×2
pdb ×2
keras ×1
kubernetes ×1
moosefs ×1
scikit-image ×1
scrapy ×1
tensorboard ×1
ubuntu ×1
web-scraping ×1