Azure / Azure/MachineLearningNotebooks

PipelineParameter parses my timestamp strings

未關閉
#1,402 5 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
ADO Data4ML Pipelines product-issue
主要語言
Jupyter Notebook
星號
4.4k
分支
2.6k
PR 合併指標
30 天內沒有已合併 PR

描述

I have the following PipelineParameters
```python
train_start_time = PipelineParameter(
name="train_start_time", default_value="2021-01-01T00:00:00"
)
train_end_time = PipelineParameter(
name="train_end_time", default_value="2021-01-31T00:00:00"
)
```
which are passed to my PythonScriptStep as follows:
```python
pipeline_step = PythonScriptStep(
..
arguments=[
"--train_start_time",
train_start_time,
"--train_end_time",
train_end_time,
],
...
)
```
But when I run this in a compute cluster it turns out that the timestamp strings have been parsed, and is passed on to the script in a different format! In `70_driver_log.txt` I see this:
```
[2021-03-23T14:30:23.703839] After variable expansion, calling script [...] with arguments:['--train_start_time', '01/01/2021 00:00:00 +00:00', '--train_end_time', '01/31/2021 00:00:00 +00:00']
```
Iso8601 is the only way to represent time as strings, any other way is abominations! How do I get my pretty strings?

**Edit for extra clarity**:
The problem is that my input string `2021-01-31T00:00:00` gets transformed to `01/31/2021 00:00:00 +00:00` before beeing passed to my script as arguments.

貢獻指南

這個儲存庫沒有索引到貢獻指南

研究方向

使用所示的時間戳值重現 PipelineParameter 和 PythonScriptStep 範例,然後檢查 70_driver_log.txt 中變數展開後的引數。比較原始的 ISO8601 字串與轉換後的值,並追蹤該轉換發生的位置。當腳本接收到未變更的原始時間戳字串時,即視為完成。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
azure, python
領域
machine-learning
Issue 類型
缺陷
難度
3/5
預估耗時
1-2 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。