Azure / Azure/MachineLearningNotebooks
PipelineParameter parses my timestamp strings
- 主要言語
- 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