我使用 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) 我在尝试在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提交任何解决方案,因为我无法唯一地识别行:).
我尝试过以下方法:
我用大的5.5GB train
数据集重现了这种行为,但也使用了更易于管理的sample_submission
数据集.
很想知道是否有某种解决方法告诉ML Studio在加载数据集时不要尝试转换此列.我在这里专门针对Azure ML Studio解决方案,因为我不想对数据集进行任何预处理.
我正在尝试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)
似乎创建了一个合法的对象。
azure ×2
azure-machine-learning-service ×1
azure-machine-learning-studio ×1
kaggle ×1
ml-studio ×1
pygments ×1
python ×1
pytorch ×1