在计算机视觉和物体检测中,常用的评估方法是mAP.它是什么以及如何计算?
我不在乎,如果是JSON,pickle,YAML,或什么的.
我见过的所有其他实现都不是向前兼容的,所以如果我有一个配置文件,在代码中添加一个新密钥,然后加载该配置文件,它就会崩溃.
有没有简单的方法来做到这一点?
编写Python文档字符串的首选方法是什么?
""" 要么 "
在Dive Into Python一书中 ,作者提供了以下示例:
def buildConnectionString(params):
"""Build a connection string from a dictionary of parameters.
Returns string."""
Run Code Online (Sandbox Code Playgroud)
在另一章中,作者提供了另一个例子:
def stripnulls(data):
"strip whitespace and nulls"
return data.replace("\00", "").strip()
Run Code Online (Sandbox Code Playgroud)
两种语法都有效.对我来说唯一的区别是"""允许我们编写多行文档.
除此之外有什么区别吗?
有没有人使用德国键盘找到了解决方案?Ctrl + /是不可能的,因为需要按shift + 7来获得斜杠.但是当我按Ctrl +/+ 7时,我会在该行上获得一个名为7的书签.评论代码非常浪费时间,特别是在评论xml行时.
我目前的LSTM网络看起来像这样.
rnn_cell = tf.contrib.rnn.BasicRNNCell(num_units=CELL_SIZE)
init_s = rnn_cell.zero_state(batch_size=1, dtype=tf.float32) # very first hidden state
outputs, final_s = tf.nn.dynamic_rnn(
rnn_cell, # cell you have chosen
tf_x, # input
initial_state=init_s, # the initial hidden state
time_major=False, # False: (batch, time step, input); True: (time step, batch, input)
)
# reshape 3D output to 2D for fully connected layer
outs2D = tf.reshape(outputs, [-1, CELL_SIZE])
net_outs2D = tf.layers.dense(outs2D, INPUT_SIZE)
# reshape back to 3D
outs = tf.reshape(net_outs2D, [-1, TIME_STEP, INPUT_SIZE])
Run Code Online (Sandbox Code Playgroud)
通常,我申请tf.layers.batch_normalization批量标准化.但我不确定这是否适用于LSTM网络.
b1 = …Run Code Online (Sandbox Code Playgroud) 我很确定这是一个愚蠢的问题,但我无法在其他任何地方找到它,所以我会在这里问它.
我正在使用带有7个标签的keras中的cnn(unet)进行语义图像分割.所以每个图像的标签是(7,n_rows,n_cols)使用theano后端.因此,对于每个像素的7个层,它是一个热编码的.在这种情况下,使用分类交叉熵是正确的误差函数吗?这似乎对我来说,但网络似乎更好地学习二进制交叉熵损失.有人可以阐明为什么会这样,原则目标是什么?
我有一个数组:
>>> data = np.ones((1,3,128))
Run Code Online (Sandbox Code Playgroud)
我用文件保存到文件savez_compressed:
>>> with open('afile','w') as f:
np.savez_compressed(f,data=data)
Run Code Online (Sandbox Code Playgroud)
当我尝试加载它时,我似乎无法访问数据:
>>> with open('afile','r') as f:
b=np.load(f)
>>> b.files
['data']
>>> b['data']
Traceback (most recent call last):
File "<pyshell#196>", line 1, in <module>
b['data']
File "C:\Python27\lib\site-packages\numpy\lib\npyio.py", line 238, in __getitem__
bytes = self.zip.read(key)
File "C:\Python27\lib\zipfile.py", line 828, in read
return self.open(name, "r", pwd).read()
File "C:\Python27\lib\zipfile.py", line 853, in open
zef_file.seek(zinfo.header_offset, 0)
ValueError: I/O operation on closed file
Run Code Online (Sandbox Code Playgroud)
我做错了什么吗?
编辑
按照@Saullo Castro的回答我试过这个:
>>> np.savez_compressed('afile.npz',data=data)
>>> b=np.load('afile.npz')
>>> …Run Code Online (Sandbox Code Playgroud) 我必须使用包含在各个目录中的大量 jpeg 图像创建低分辨率 AVI 视频。我有将近一百个目录,每个目录可能包含数千个图像。
为了自动化这个过程,我使用 OpenCV 编写了一个 python 脚本来创建一个视频对象,从给定目录加载每个图像,并将每个图像写入该目录的特定视频文件。所有这些都很好用。我的问题是如何控制视频对象的压缩质量。
VideoWriter 模块接受 5 个参数。第二个参数“fourcc”设置压缩代码。
cv2.VideoWriter.open(文件名,fourcc,fps,frameSize[,isColor])
我们可以使用“四字符代码”(即fourcc)在cv2.VideoWriter 中指定压缩代码。
Fourcc = cv2.cv.CV_FOURCC('M','S','V','C') #Microspoft Video 1
这种方法有效,只是视频对象的压缩质量始终设置为最大值。
如果我们让fourcc = -1,则会打开一个Windows 视频压缩对话框,允许用户选择视频压缩并在0 到100 之间设置压缩质量(或时间质量比)。
每个视频必须是 AVI,并且必须满足特定的文件大小要求。如果使用最大压缩质量,则视频文件太大。然而,要求用户为每个视频选择视频压缩和压缩质量会破坏脚本的自动化。
那么,如何在不使用 Windows 视频压缩对话框的情况下指定视频对象的压缩质量?
我的整个代码发布在下面
import cv2, os
Workspace = "J:\jpg to AVI test"
year = "2014"
file_extension = "avi"
Image_file_dir = Workspace + "\\12 - ECD-BONNETT CREEK Y INT (" + year + ")"
print Image_file_dir
Image_file_list = os.listdir(Image_file_dir)
print "Image_file_list: " + str(Image_file_list)
img_cnt = 0
for …Run Code Online (Sandbox Code Playgroud) 我试图安装一个特定Keras的版本Keras 1 API使用conda-forge,因为
$ conda search keras
仅返回以下Keras 2 API选项:
keras 2.0.8 py35h86bcf3e_0 defaults
2.0.8 py27h242e9fd_0 defaults
2.0.8 py36h39110e4_0 defaults
Run Code Online (Sandbox Code Playgroud)
而
$ conda search keras --channel conda-forge
除了通常的渠道外,返回更多选项,例如:
keras 2.0.8 py35h86bcf3e_0 defaults
2.0.8 py27h242e9fd_0 defaults
2.0.8 py36h39110e4_0 defaults
1.0.7 py27_0 conda-forge
1.0.7 py34_0 conda-forge
1.0.7 py35_0 conda-forge
1.0.7 py36_0 conda-forge
1.2.2 py27_0 conda-forge
1.2.2 py35_0 conda-forge
1.2.2 py36_0 conda-forge
2.0.0 py27_0 conda-forge
2.0.0 py35_0 conda-forge
2.0.0 py36_0 conda-forge
2.0.1 py27_0 conda-forge
2.0.1 …Run Code Online (Sandbox Code Playgroud) 我正在尝试用 Python 做一个简单的机器人,我已经编写了主体,我想在真实数据上进行尝试。所以我运行了它,它在无限循环中运行,在循环结束时它会休眠 6 秒,因为它从服务器获取数据并且需要休眠,因此它不会被服务器踢出。无论如何,当我坐在 PC 前做我的事情时,脚本正在运行(我从 Windows 命令提示符运行它)但是当我关闭屏幕并回来时,脚本不再运行。我已经尝试过几次不同长度的脚本运行,但在我关闭屏幕后它总是停止。
python ×7
keras ×2
arrays ×1
avi ×1
comments ×1
compression ×1
conda ×1
conda-forge ×1
config ×1
detection ×1
docstring ×1
file-io ×1
fourcc ×1
ini ×1
install ×1
json ×1
keyboard ×1
lstm ×1
metrics ×1
numpy ×1
opencv ×1
pep ×1
pep8 ×1
pycharm ×1
quote ×1
rnn ×1
settings ×1
sleep-mode ×1
tensorflow ×1
vision ×1