我已经安装了 pyenv,我的 .zshenv 如下所示:
export PYENV_ROOT="$HOME"/.pyenv
export PATH="$PYENV_ROOT"/bin:"$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
eval "$(pyenv virtualenv-init -)"
Run Code Online (Sandbox Code Playgroud)
当我打开新终端时,出现以下错误:
.zshenv。未找到命令: : pyenv
我最近开始使用 docker 并且我容器化了一个 python 应用程序。我使用了以下 Dockerfile。
FROM python:3.6.5
# working directory
WORKDIR /usr/src/app
# copy requirement file to working directory
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
ENTRYPOINT ["python", "./run.py"]
Run Code Online (Sandbox Code Playgroud)
我有一些使用 pytest 调用的单元测试。我在想如何将它包含在 docker 容器中,以便单元测试可以在 docker 容器内运行。我应该为它建立一个不同的形象。您对此有何建议。
我gcloud local prediction
用来测试我导出的模型。该模型是在自定义数据集上训练过的 TensorFlow 对象检测模型。我正在使用以下 gcloud 命令:
gcloud ml-engine local predict --model-dir=/path/to/saved_model/ --json-instances=input.json --signature-name="serving_default" --verbosity debug
Run Code Online (Sandbox Code Playgroud)
当我不使用 verbose 时,该命令不输出任何内容。将详细设置为调试后,我得到以下回溯:
DEBUG: [Errno 32] Broken pipe
Traceback (most recent call last):
File "/google-cloud-sdk/lib/googlecloudsdk/calliope/cli.py", line 984, in Execute
resources = calliope_command.Run(cli=self, args=args)
File "/google-cloud-sdk/lib/googlecloudsdk/calliope/backend.py", line 784, in Run
resources = command_instance.Run(args)
File "/google-cloud-sdk/lib/surface/ai_platform/local/predict.py", line 83, in Run
signature_name=args.signature_name)
File "/google-cloud-sdk/lib/googlecloudsdk/command_lib/ml_engine/local_utils.py", line 103, in RunPredict
proc.stdin.write((json.dumps(instance) + '\n').encode('utf-8'))
IOError: [Errno 32] Broken pipe
Run Code Online (Sandbox Code Playgroud)
我的导出模型的详细信息:
MetaGraphDef with tag-set: 'serve' contains the following SignatureDefs: …
Run Code Online (Sandbox Code Playgroud) 我有以下代码,它基本上是在做特征工程管道:
token_q1=Tokenizer(inputCol='question1',outputCol='question1_tokens')
token_q2=Tokenizer(inputCol='question2',outputCol='question2_tokens')
remover_q1=StopWordsRemover(inputCol='question1_tokens',outputCol='question1_tokens_filtered')
remover_q2=StopWordsRemover(inputCol='question2_tokens',outputCol='question2_tokens_filtered')
q1w2model = Word2Vec(inputCol='question1_tokens_filtered',outputCol='q1_vectors')
q1w2model.setSeed(1)
q2w2model = Word2Vec(inputCol='question2_tokens_filtered',outputCol='q2_vectors')
q2w2model.setSeed(1)
pipeline=Pipeline(stages[token_q1,token_q2,remover_q1,remover_q2,q1w2model,q2w2model])
model=pipeline.fit(train)
result=model.transform(train)
result.show()
Run Code Online (Sandbox Code Playgroud)
我想将以下 UDF 添加到上述管道中:
charcount_q1 = F.udf(lambda row : sum([len(char) for char in row]),IntegerType())
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我收到 Java 错误。有人可以指出我正确的方向吗?
但是,我使用以下基本有效的代码添加了此列:
charCountq1=train.withColumn("charcountq1", charcount_q1("question1"))
Run Code Online (Sandbox Code Playgroud)
但我想将它添加到管道中而不是这样做
我有一个如下的数据框:
id timestamp name
1 2018-01-23 15:49:53 "aaa"
1 2018-01-23 15:54:56 "bbb"
1 2018-01-23 15:49:57 "bbb"
1 2018-01-23 15:49:54 "ccc"
Run Code Online (Sandbox Code Playgroud)
这是我的数据中的一组 id 示例。我有几组ID。我想要做的是将每个组折叠成一行,但根据时间戳按时间顺序排列,例如像这样
id name
1 aaa->ccc->bbb->bbb
Run Code Online (Sandbox Code Playgroud)
name 中的值按时间顺序排列,因为它们与时间戳一起出现。关于这个的任何指示?
我正在尝试使用 github 操作自动化 CI/CD 管道。我有一个 Makefile 如下:
.virtualenv:
virtualenv -p python3 .virtualenv
. .virtualenv/bin/activate; \
pip install -r requirements.txt -r requirements_test.txt
clean:
find . -name __pycache__ -exec rm -rf {} +
rm -rf *.egg-info
rm -rf .virtualenv/
test: .virtualenv
(. .virtualenv/bin/activate; \
pycodestyle --max-line-length=79 app test; \
nosetests --with-coverage --cover-tests --cover-min-percentage=80 --cover-package=app test)
build: test clean
.PHONY: test clean
Run Code Online (Sandbox Code Playgroud)
我想使用 github 操作来自动化这个工作流程。我已经像这样设置了我的 github 工作流程:
name: python-app
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: …
Run Code Online (Sandbox Code Playgroud) 我有一个 pyspark 数据框,我想达到以下条件:
if col1 is not none:
if col1 > 17:
return False
else:
return True
return None
Run Code Online (Sandbox Code Playgroud)
我通过以下方式实现了它:
out = out.withColumn('col2', out.withColumn(
'col2', when(col('col1').isNull(), None).otherwise(
when(col('col1') > 17, False).otherwise(True)
)))
Run Code Online (Sandbox Code Playgroud)
但是,当我运行此命令时,出现以下错误:
assert isinstance(col, Column), "col should be Column"
AssertionError: col should be Column
Run Code Online (Sandbox Code Playgroud)
任何想法我可能做错了什么。