小编Vla*_*scu的帖子

让 Pygments 为我的细胞结果工作

我使用 Jupyter Notebooks 来实施和记录适用于我们的生产数据库的更改。我使用 Python 进行编程,并向服务器提交典型的 SQL 语句以获取结果并进行更改。

我喜欢将 sql 打印为单元输出的一部分,以获取更改的详细日志。我希望 pygments 帮助对输出进行着色,以便 SQL 看起来尽可能漂亮。

似乎 pygments 使用 css,我不知道如何将其包含在内


    from pygments import highlight
    from pygments.lexers import SqlLexer
    from pygments.formatters import HtmlFormatter
    from IPython.display import display, HTML
    
    sql_string = '''
    SELECT id, name
      FROM users
     WHERE name between 'B' AND 'P'
    LIMIT 50
    '''

    display(HTML(data=highlight(sql_string, SqlLexer(), HtmlFormatter())))
    display(highlight(sql_string, SqlLexer(), HtmlFormatter()))

    display(HtmlFormatter().get_style_defs('.highlight'))

Run Code Online (Sandbox Code Playgroud)

输出

SELECT id, name
  FROM users
 WHERE name between 'B' AND 'P'
LIMIT 50
u'<div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="n">id</span><span class="p">,</span> …
Run Code Online (Sandbox Code Playgroud)

pygments jupyter-notebook

6
推荐指数
1
解决办法
1908
查看次数

如何在导入数据集时阻止Azure ML Studio将要素列转换为DateTime

我在尝试在Azure ML Studio中加载数据集时遇到了一些问题,这是一个包含看起来像DateTime的列的数据集,但实际上是一个字符串.Azure ML Studio在内部将值转换为DateTimes,并且没有任何争论似乎说服它们实际上是字符串.

这是一个问题,因为在转换过程中,值会丢失精度并开始显示为重复,而实际上它们是唯一的.有人知道ML Studio是否可以配置为在导入数据集时不推断列的数据类型?

现在,对于漫长的(呃)故事:)

我在这里使用公共数据集 - 特别是Kaggle的纽约市票价预测竞赛.我想看看我是否可以使用Azure ML Studio做一个快速而肮脏的解决方案,但是数据集的唯一键值是形式 2015-01-27 13:08:24.0000003 2015-01-27 13:08:24.0000002 2011-10-06 12:10:20.0000001 等等.

在我的实验中导入它们时,键值将转换为DateTime,使它们不再是唯一的,即使它们在csv中是唯一的.毋庸置疑,这使我无法向Kaggle提交任何解决方案,因为我无法唯一地识别行:).

我尝试过以下方法:

  • 在加载数据集之后编辑数据集的元数据并将列的数据类型设置为字符串,但这并没有做太多,因为精度已经丢失
  • 从Azure blob导入数据集,将其转换为csv,然后在Jupyter/Python中加载它 - 这给我带来了相同的(重复的)密钥.
  • 正如预期的那样,使用pandas在本地加载数据集.

我用大的5.5GB train数据集重现了这种行为,但也使用了更易于管理的sample_submission数据集.

很想知道是否有某种解决方法告诉M​​L Studio在加载数据集时不要尝试转换此列.我在这里专门针对Azure ML Studio解决方案,因为我不想对数据集进行任何预处理.

azure azure-machine-learning-studio kaggle ml-studio

5
推荐指数
1
解决办法
149
查看次数

如何从 Azure blob 数据存储获取 Python pathlib 路径?

我正在尝试torch.utils.data.DataLoader在 AzureML 中对 a 进行一些自定义操作,但无法让它直接从我的实例化azureml.core.Datastore

ws = Workspace( # ... etc ... )
ds = Datastore.get(ws, datastore_name='my_ds')
am = ds.as_mount()

# HOW DO I GET base_path, data_file from am?

dataloader = DataLoader(
        ListDataset(base_path, data_file), #... etc...
    )

Run Code Online (Sandbox Code Playgroud)

的值am.path()是“$AZUREML_DATAREFERENCE_my_ds”,但我无法弄清楚如何pathlib.Path按照构造函数的预期从该值转到 a ListDataset。我尝试过的事情包括Path(am.path())Path(os.environ[am.path()])它们似乎不起作用。

很明显有一些答案,因为:

script_params = {
    '--base_path': ds.as_mount(), 
    '--epochs': 30,  
    '--batch_size' : 16,  
    '--use_cuda': 'true'
}
torch = PyTorch(source_directory='./',
                        script_params=script_params,
                        compute_target=compute_target,
                        entry_script='train.py',
                        pip_packages=packages,
                        use_gpu=True) 
Run Code Online (Sandbox Code Playgroud)

似乎创建了一个合法的对象。

python azure pytorch azure-machine-learning-service

5
推荐指数
1
解决办法
1460
查看次数