我有一个使用OpenCV的Python 3.5 64位程序(Windows的tensorflow需要).我用pyinstaller分发它.
我用Windows 10构建了我的程序
/c/Python35/Scripts/pyinstaller -c DeepMeerkat.spec
Run Code Online (Sandbox Code Playgroud)
在我的计算机上,.exe构建并运行完美.在任何其他非Windows 10计算机上
上
import cv2
Run Code Online (Sandbox Code Playgroud)
返回
ImportError:DLL加载失败:找不到指定的模块.
我可以在pyInstaller线程上看到关于它的大量讨论,但我不能完全告诉如何将它付诸实践.依赖性walker说我缺少一些DLL
api-ms-win-crt-**.dll
Run Code Online (Sandbox Code Playgroud)
好的,从pyInstaller线程,我知道这些DLL存在
C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs
Run Code Online (Sandbox Code Playgroud)
基于架构的多个子文件夹下.
我尝试添加到我的.spec文件中
pathex=["C:/Program Files (x86)/Windows Kits/10/Redist/ucrt/DLLs/"],
Run Code Online (Sandbox Code Playgroud)
或者我的特定架构
pathex=["C:/Program Files (x86)/Windows Kits/10/Redist/ucrt/DLLs/arm"],
Run Code Online (Sandbox Code Playgroud)
我认为这是在这里建议的
"安装适用于Windows 10的Windows软件开发工具包(SDK)并展开.spec文件以包含所需的DLL,请参阅上述链接中的"分发使用通用CRT的软件",编号为6.
那没有任何效果.我收到了数以百计的错误
121472 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\python35\DLLs\_ssl.pyd
Run Code Online (Sandbox Code Playgroud)
但我可以在这里看到DLL
C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\arm
Run Code Online (Sandbox Code Playgroud)
那么我就把整个文件夹复制到了posthoc
cp -r "C:/Program Files (x86)/Windows Kits/10/Redist/ucrt/DLLs/" dist/Lib/
Run Code Online (Sandbox Code Playgroud)
但目前尚不清楚如何将这些连接到.exe.显然,让pyInstaller事先知道是可取的.
我也试过了
/c/Python35/Scripts/pyinstaller --path "C:/Program Files (x86)/Windows Kits/10/Redist/ucrt/DLLs/arm" -c DeepMeerkat.spec
Run Code Online (Sandbox Code Playgroud)
它仍然没有找到它们
我也尝试将该文件夹添加到PATH.有任何想法吗?
我训练了一个张量流模型,我想从numpy数组运行预测.这适用于视频中的图像处理.我会将图像传递给模型.并非每一帧都通过.
我在这样的会话中重新加载我的SavedModel
def run(self):
with tf.Session(graph=tf.Graph()) as sess:
tf.saved_model.loader.load(sess,
[tf.saved_model.tag_constants.SERVING], "model")
Run Code Online (Sandbox Code Playgroud)
如果我将图像列表(self.tfimages)传递给预测,我的代码将完美运行.凝聚于:
softmax_tensor = sess.graph.get_tensor_by_name('final_ops/softmax:0')
predictions = sess.run(softmax_tensor, {'Placeholder:0': self.tfimages})
Run Code Online (Sandbox Code Playgroud)
但我不会立刻拥有所有图像.我是否真的必须每次从文件重新加载模型(需要2分钟以上).
我想做这样的事情
class tensorflow_model:
def __init__(self):
with tf.Session(graph=tf.Graph()) as self.sess:
tf.saved_model.loader.load(self.sess,
[tf.saved_model.tag_constants.SERVING], "model")
def predict(self):
# Feed the image_data as input to the graph and get first prediction
softmax_tensor = self.sess.graph.get_tensor_by_name('final_ops/softmax:0')
predictions = self.sess.run(softmax_tensor, {'Placeholder:0': self.tfimages})
Run Code Online (Sandbox Code Playgroud)
但收益率
builtins.RuntimeError:尝试使用已关闭的会话
有没有办法保持会话打开,或者可能独立于会话加载SavedModel?
编辑我尝试了第一个答案,分两步创建一个会话:
sess=tf.Session(graph=tf.Graph())
sess
<tensorflow.python.client.session.Session object at 0x0000021ACBB62EF0>
tf.saved_model.loader.load(sess,[tf.saved_model.tag_constants.SERVING], "model")
Traceback (most recent call last):
Debug Probe, prompt 138, line …Run Code Online (Sandbox Code Playgroud) 我在docker镜像内外发现了不同的行为,用于验证Google服务帐户.
外.成功.
C:\Users\Ben\AppData\Local\Google\Cloud SDK>gcloud auth activate-service-account 773889352370-compute@developer.gserviceaccount.com --key-file C:/Users/Ben/Dropbox/Google/MeerkatReader-d77c0d6aa04f.json --project api-project-773889352370
Activated service account credentials for: [773889352370-compute@developer.gserviceaccount.com]
Run Code Online (Sandbox Code Playgroud)
运行docker容器,将.json密钥传递给tmp目录.
C:\Users\Ben\AppData\Local\Google\Cloud SDK>docker run -it -v C:/Users/Ben/Dropbox/Google/MeerkatReader-d77c0d6aa04f.json:/tmp/MeerkatReader-d77c0d6aa04f.json --rm -p "127.0.0.1:8080:8080" --entrypoint=/bin/bash gcr.io/cloud-datalab/datalab:local-20161227
Run Code Online (Sandbox Code Playgroud)
在docker中,确认文件在那里
root@4a4a9314f15c:/tmp# ls
MeerkatReader-d77c0d6aa04f.json npm-24-b7aa1bcf npm-45-fd13ef7c npm-7-22ec336e
Run Code Online (Sandbox Code Playgroud)
运行与以前相同的命令.失败.
root@4a4a9314f15c:/tmp# gcloud auth activate-service-account 773889352370-compute@developer.gserviceaccoun
t.com --key-file MeerkatReader-d77c0d6aa04f.json --project api-project-773889352370
ERROR: (gcloud.auth.activate-service-account) Failed to activate the given service account. Please ensure provided key file is valid.
Run Code Online (Sandbox Code Playgroud)
什么可能导致此错误?更广泛地说,建议的传递凭证的策略是什么.我试过这个,它也失败了.我正在使用cloudml API和云视觉,我想在每次运行开始时避免使用手动gcloud init.
编辑:显示gcloud信息
root@7ff49b26484f:/# gcloud info --run-diagnostics
Network diagnostic detects and fixes …Run Code Online (Sandbox Code Playgroud) 我对使用 Google Cloud Dataflow 并行处理视频很感兴趣。我的工作同时使用 OpenCV 和 tensorflow。是否可以只在 docker 实例中运行工作人员,而不是按照描述从源安装所有依赖项:
https://cloud.google.com/dataflow/pipelines/dependencies-python
我本来希望有一个 docker 容器的标志,它已经位于谷歌容器引擎中。
我从github下载了最新的源代码并配置了opencv和contrib模块.我似乎可以建立.我已经关闭了FFMPEG,我之前手动下载了.dll,我知道这是最近的一个问题.我过去成功了.但现在我要到了
[ 50%] Building RC object modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj
C:\mingw\bin\windres.exe: invalid option -- W
Usage: C:\mingw\bin\windres.exe [option(s)] [input-file] [output-file]
The options are:
-i --input=<file> Name input file
-o --output=<file> Name output file
-J --input-format=<format> Specify input format
-O --output-format=<format> Specify output format
-F --target=<target> Specify COFF target
--preprocessor=<program> Program to use to preprocess rc file
--preprocessor-arg=<arg> Additional preprocessor argument
-I --include-dir=<dir> Include directory when preprocessing rc file
-D --define <sym>[=<val>] Define SYM when preprocessing rc file
-U --undefine <sym> Undefine SYM when …Run Code Online (Sandbox Code Playgroud) 我有一个类似的问题:R:data.table:搜索多列和设置数据类型,但这个问题没有得到完全解答.我有一个成对表,在概念上看起来像下面的那个.该表是将非常大的距离矩阵转换为data.table(> 100,000,000行)的结果,使得比较a,b与b,a相同.但是,a和b可能出现在V1或V2列中.我想使用data.table的查询样式计算简单的汇总统计信息,但我还没有弄清楚如何在任一列中选择键.这可能吗?
我已尝试在任一方向设置密钥,但这只返回该列的数据.我也尝试使用list(),但是返回交集(可以理解),我希望有一个by = key1 | key2,但没有这样的运气.
> set.seed(123)
>
> #create pairwise data
> a<-data.table(t(combn(3,2)))
> #create column that is equal both ways, 1*2 == 2*1
> dat<-a[,data:=V1*V2]
> dat
V1 V2 data
1: 1 2 2
2: 1 3 3
3: 2 3 6
#The id ==2 is the problem here, the mean should be 4 ((2+6)/2)
> #set keys
> setkey(dat,V1,V2)
>
> #One way data
> dat[,c("MEAN","VAR"):=list(mean(data),var(data)),by=V1]
> dat
V1 V2 data MEAN VAR …Run Code Online (Sandbox Code Playgroud) 我正在尝试在具有15GB内存的私有ubuntu亚马逊ec2实例上编织.Rmd文件。我从源代码安装了rstudio(RStudio 0.99.903-Ubuntu 12.04 + / Debian 8+(64位)),没有问题,然后在此处链接了随附的pandoc版本。
$ sudo ln -s /usr/lib/rstudio/bin/pandoc/pandoc /usr/local/bin
$ sudo ln -s /usr/lib/rstudio/bin/pandoc/pandoc-citeproc /usr/local/bin
Run Code Online (Sandbox Code Playgroud)
并确认其在PATH中
ubuntu@ip-172-31-46-87:~$ pandoc -v
pandoc 1.15.2
Run Code Online (Sandbox Code Playgroud)
从命令行调用编织器
Rscript -e "rmarkdown::render('Observed.Rmd')" &> run.txt
Run Code Online (Sandbox Code Playgroud)
我可以成功地进行小型测试运行。
但是,当我尝试较大的运行时,会出现错误
/usr/local/bin/pandoc +RTS -K512m -RTS SingleSpecies.utf8.md --to html --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash --output SingleSpecies.html --smart --email-obfuscation none --self-contained -M2GB +RTS -K64m -RTS --standalone --section-divs --table-of-contents --toc-depth 3 --template /home/ubuntu/R/x86_64-pc-linux-gnu-library/3.3/rmarkdown/rmd/h/default.html --number-sections --variable 'theme:spacelab' --include-in-header /tmp/RtmpWXb9A4/rmarkdown-str58570a61934.html --mathjax --variable 'mathjax-url:https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML' --no-highlight --variable highlightjs=/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.3/rmarkdown/rmd/h/highlight --variable navigationjs=/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.3/rmarkdown/rmd/h/navigation-1.0
Error: pandoc document conversion failed with …Run Code Online (Sandbox Code Playgroud) 我想了解如何将多行 csv 文件写入谷歌云存储。我只是没有遵循文档
接近这里: 无法读取上传到谷歌云存储桶的 csv 文件
例子:
from google.cloud import storage
from oauth2client.client import GoogleCredentials
import os
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = "<pathtomycredentials>"
a=[1,2,3]
b=['a','b','c']
storage_client = storage.Client()
bucket = storage_client.get_bucket("<mybucketname>")
blob=bucket.blob("Hummingbirds/trainingdata.csv")
for eachrow in range(3):
blob.upload_from_string(str(a[eachrow]) + "," + str(b[eachrow]))
Run Code Online (Sandbox Code Playgroud)
这让你在谷歌云存储上只有一行
3,c
Run Code Online (Sandbox Code Playgroud)
显然它每次打开一个新文件并写下这一行。
好的,添加一个新行 delim 怎么样?
for eachrow in range(3):
blob.upload_from_string(str(a[eachrow]) + "," + str(b[eachrow]) + "\n")
Run Code Online (Sandbox Code Playgroud)
添加换行符,但再次从头开始写入。
有人可以说明这种方法是什么吗?我可以将所有行合并为一个字符串,或者编写一个临时文件,但这看起来非常难看。
也许作为文件打开?
我正在 Google 云数据流上构建光束管道。
我收到错误消息,指出云数据流无权写入临时目录。
这很令人困惑,因为显然数据流能够写入存储桶,它创建了一个临时文件夹。
为什么我能够写入暂存文件夹,但不能写入临时文件夹?
我正在计算引擎上的 Docker 容器内运行。我已通过我的服务帐户进行了完全身份验证。
PROJECT=$(gcloud config list project --format "value(core.project)")
BUCKET=gs://$PROJECT-testing
python tests/prediction/run.py \
--runner DataflowRunner \
--project $PROJECT \
--staging_location $BUCKET/staging \
--temp_location $BUCKET/temp \
--job_name $PROJECT-deepmeerkat \
--setup_file tests/prediction/setup.py
Run Code Online (Sandbox Code Playgroud)
编辑
回应@alex amato
该存储桶属于该项目还是属于另一个项目?是的,当我进入该项目的主屏幕时,这是列出的四个桶之一。我通常从这个存储桶上传数据并与其他谷歌云服务(云视觉 API)进行交互。
请您提供完整的错误消息。
“(8d8bc4d7fc4a50bd):无法将文件写入临时位置'gs://api-project-773889352370-testing/temp/api-project-773889352370-deepmeerkat.1498771638.913123'。请确保此目录的存储桶存在,并且运行工作流的项目具有写入该工作流所需的权限。”
“8d8bc4d7fc4a5f8f):工作流程失败。原因:(8d8bc4d7fc4a526c):对临时位置或暂存文件的一项或多项访问检查失败。请参阅其他错误消息以了解详细信息。有关安全和权限的更多信息,请参阅https://cloud .google.com/dataflow/security-and-permissions。”
您能否确认尚不存在与您尝试使用的 GCS 文件夹路径名称相匹配的现有 GCS 对象?
是的,存储桶中没有名为 temp 的文件夹。
Bucket权限具有全局管理员权限
与我的 gcloud 身份验证匹配
python google-cloud-storage gcloud google-cloud-dataflow apache-beam
我需要按拍摄日期提取和组织照片。Windows 10、Python 2.7。我一直在这样做
from PIL import Image
def get_date_taken(path):
return Image.open(path)._getexif()[36867]
Run Code Online (Sandbox Code Playgroud)
下列的:
这对于某些照片来说非常有用。
伟大的。现在抓取一组不同的图像,新相机,属性看起来相似。
但字典完全不同
Image.open(image)._getexif()[36867]
Traceback (most recent call last):
Debug Probe, prompt 369, line 1
KeyError: 36867
Image.open(image)._getexif()
{36864: '0220', 37121: '\x01\x02\x03\x00', 40962: 2048, 40963: 1536, 40960: '0100', 40961: 1, 296: 2, 34665: 90, 34855: 1600, 531: 2, 282: (72, 1), 283: (72, 1), 37500: '\x01\xf1\x03\x00\x03\x00\x00\x00\x11 ....
Run Code Online (Sandbox Code Playgroud)
我也尝试过exifread
a=exifread.process_file(open(image,'rb'))
a.keys()
['EXIF MakerNote', 'Image ExifOffset', 'EXIF ExposureTime', 'EXIF ComponentsConfiguration', 'Image YCbCrPositioning', 'Image XResolution', 'EXIF …Run Code Online (Sandbox Code Playgroud) python ×7
opencv ×3
gcloud ×2
windows ×2
apache-beam ×1
bigdata ×1
cmake ×1
csv ×1
data.table ×1
docker ×1
exif ×1
knitr ×1
makefile ×1
memory ×1
pandoc ×1
pyinstaller ×1
r ×1
rstudio ×1
tensorflow ×1
ubuntu ×1