我正在 colab Pro GPU 上运行 Convnet。我在运行时选择了 GPU,并且可以确认 GPU 可用。我运行的网络与昨天晚上完全相同,但每个 epoch 大约需要 2 小时...昨晚每个 epoch 大约需要 3 分钟...根本没有任何变化。我有一种感觉 Colab 可能限制了我的 GPU 使用,但我不知道如何判断这是否是问题所在。GPU 速度是否会根据一天中的时间等而波动很大?以下是我打印的一些诊断信息,有谁知道我如何更深入地调查这种缓慢行为的根本原因是什么?
\n\n我还尝试将 colab 中的加速器更改为“无”,并且我的网络速度与选择“GPU”时的速度相同,这意味着由于某种原因我不再在 GPU 上进行训练,或者资源受到严重限制。我使用的是 Tensorflow 2.1。
\n\ngpu_info = !nvidia-smi\ngpu_info = \'\\n\'.join(gpu_info)\nif gpu_info.find(\'failed\') >= 0:\n print(\'Select the Runtime \xe2\x86\x92 "Change runtime type" menu to enable a GPU accelerator, \')\n print(\'and then re-execute this cell.\')\nelse:\n print(gpu_info)\n\nSun Mar 22 11:33:14 2020 \n+-----------------------------------------------------------------------------+\n| NVIDIA-SMI 440.64.00 Driver Version: 418.67 CUDA Version: 10.1 |\n|-------------------------------+----------------------+----------------------+\n| GPU Name Persistence-M| Bus-Id Disp.A | Volatile …Run Code Online (Sandbox Code Playgroud) 我正在为这件事抓狂。我正在尝试使用 lubridate 解析为 ymd_hms 格式。我最终会将这个二变量数据框合并为一个更大的数据框。
原始 csv 中的日期格式似乎相当明确(01.01.13 00:00),所以我不确定为什么会出现以下错误或如何解决它。
Warning message:
All formats failed to parse. No formats found.
Run Code Online (Sandbox Code Playgroud)
我曾尝试在网上查找有关语言环境的信息,但并没有取得多大成功。
这就是我一直在运行的
tariff <- read.csv("tariffs.csv", stringsAsFactors = F, sep = ";")
colnames(tariff) <- c("DateTime", "Tariff")
tariff$DateTime <- lubridate::ymd_hms(tariff$DateTime)
Run Code Online (Sandbox Code Playgroud)
> head(tariff)
DateTime Tariff
1 01.01.13 00:00 Normal
2 01.01.13 00:30 Normal
3 01.01.13 01:00 Normal
4 01.01.13 01:30 Normal
5 01.01.13 02:00 Normal
6 01.01.13 02:30 Normal
> tail(tariff)
DateTime Tariff
17515 31.12.13 21:00 Normal
17516 31.12.13 21:30 Normal
17517 31.12.13 22:00 …Run Code Online (Sandbox Code Playgroud) 我用下面的代码绘制了以下图。我想创建一条横跨所有分面图的水平红色虚线以突出显示 200 以上的所有点,但是当我运行此命令时
plt.axhline(200, ls='--', linewidth=3, color='red')
Run Code Online (Sandbox Code Playgroud)
我只得到最后一个情节中的线条。我猜我需要遍历所有的图,但我不知道该怎么做。谢谢您的帮助。
g = sns.relplot(x='hour', y="n",
col="w_day", hue="Zone",
kind="scatter", ci=95, data=df_1, col_order=col_order)
axes = g.axes.flatten()
axes[0].set_title("Monday")
axes[1].set_title("Tuesday")
axes[2].set_title("Wednesday")
axes[3].set_title("Thursday")
axes[4].set_title("Friday")
axes[5].set_title("Saturday")
axes[6].set_title("Sunday")
axes[0].set_ylabel("Hourly N")
for ax in axes:
ax.set_xlabel("Hour")
g.fig.suptitle('',
weight='semibold',
y= 1.06,
size='x-large')
plt.axhline(200, ls='--', linewidth=3, color='red')
plt.margins(x=0)
plt.subplots_adjust(hspace=0, wspace=0)
Run Code Online (Sandbox Code Playgroud) 我有一个包含 93 个特征和 9 个类标签的数据框。我想用各自的类标签绘制每个特征的值,但是,我想生成一个包含 93 个图的子图,每个图代表数据集中的一个特征。我可以制作一个情节,它看起来像这样:
sns.catplot(x="feat_1", y="target", data=train)
Run Code Online (Sandbox Code Playgroud)
现在我基本上想重复同样的事情,但是以刻面网格的形式重复 93 次。我尝试创建一个包含 5 列和 19 行的子图,然后循环遍历轴但失败了......感谢您的帮助,我的数据看起来像这样(93 个特征列和一个目标列):
feat_1 feat_2 feat_3 feat_4 feat_5 feat_6 feat_7 feat_8 feat_9 feat_10 ... feat_85 feat_86 feat_87 feat_88 feat_89 feat_90 feat_91 feat_92 feat_93 target
id
32518 0 0 0 1 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 Class_6
31734 0 1 7 5 0 0 0 0 0 1 ... 0 0 0 1 2 0 …Run Code Online (Sandbox Code Playgroud) 我有以下数据:
key German
0 0:- Profile 1
1 1:- Archetype Realist*in
2 2:- RIASEC Code: R- Realistic
3 3:- Subline Deine Stärke? Du bleibst dir selber treu.
4 4:- Copy Dein Erfolg basiert auf deiner praktischen Ver...
Run Code Online (Sandbox Code Playgroud)
在“键”列中,我想删除后面的数字和冒号破折号。此顺序始终相同(从左侧开始)。因此,对于第一行,我想删除“0:-”,而只保留“配置文件 1”。我正在努力寻找正确的正则表达式来做我想做的事。最初我尝试了以下方法:
df_json['key'] = df_json['key'].map(lambda x: x.strip(':- ')[1])
Run Code Online (Sandbox Code Playgroud)
但是,这种方法限制太多,因为该字段中可能有多个词。
我想使用pd.Series.str.replace(),但我无法找出正确的正则表达式来达到预期的结果。任何帮助将不胜感激。
我正在尝试从带有日期时间列的大型数据框中提取季节。这是我使用的代码:
def season_of_date(date_UTC):
year = str(date_UTC.year)
seasons = {'spring': pd.date_range(start= year +'-03-21 00:00:00', end=year + '-06-20 00:00:00'),
'summer': pd.date_range(start= year + '-06-21 00:00:00', end= year + '-09-22 00:00:00'),
'autumn': pd.date_range(start= year + '-09-23 00:00:00', end= year + '-12-20 00:00:00')}
if date_UTC in seasons['spring']:
return 'spring'
if date_UTC in seasons['summer']:
return 'summer'
if date_UTC in seasons['autumn']:
return 'autumn'
else:
return 'winter'
df['season'] = df.date_UTC.map(season_of_date)
Run Code Online (Sandbox Code Playgroud)
问题在于我不知道如何处理日期时间列中的小时分和秒,所以我最终得到的结果主要是冬天,除了时间为 00:00:00 的日期时间条目:
date_UTC season
616602 2019-11-24 17:00:00 winter
792460 2019-06-18 13:00:00 winter
230088 2019-11-30 07:00:00 winter …Run Code Online (Sandbox Code Playgroud) 我有一个熊猫数据框,我想根据另一列的值在新列中创建类别。我可以通过这样做来解决我的基本问题:
range = {
range(0, 5) : 'Below 5',
range(6,10): 'between',
range(11, 1000) : 'above'
}
df['range'] = df['value'].map(range)
Run Code Online (Sandbox Code Playgroud)
在最终的字典键中,我为 range 选择了一个较大的上限值,以确保它捕获我尝试映射的所有值。然而,这似乎是一个丑陋的黑客,我想知道如何在不指定上限的情况下概括这一点。IE。如果 > 10 :“以上”。
谢谢
我刚刚从 R 转移到 Python 并且有一个关于 groupby 的问题。我有一个具有三个功能的数据框,如下所示:
date Scaled Name
3 2018-10-01 02:00:00 14.57 19245
4 2018-10-01 02:00:00 11.90 7245
5 2018-10-01 02:00:00 15.84 25245
6 2018-10-01 03:00:00 16.98 25245
7 2018-10-01 03:00:00 11.40 7245
8 2018-10-01 03:00:00 16.95 19245
9 2018-10-01 04:00:00 17.78 25245
10 2018-10-01 04:00:00 12.06 7245
11 2018-10-01 04:00:00 18.19 19245
12 2018-10-01 05:00:00 19.63 25245
Run Code Online (Sandbox Code Playgroud)
我在数据集中有大约 80 个唯一名称,因此有重复的日期。我想在数据集中创建一个新列,它是每个 Name 唯一的百分比,显示该特定 Name 的小时数与数据集中的总小时数范围相比的比例。我可以轻松地进行此计算,但我正在努力生成新列。计算将是这样的
hours = ((df['date'].max(axis=0) - df['date'].min(axis=0)).total_seconds())/3600
df['percentage'] = df['Name'].value_counts()/ hours
Run Code Online (Sandbox Code Playgroud) python ×5
python-3.x ×5
pandas ×4
datetime ×2
matplotlib ×2
seaborn ×2
gpu ×1
r ×1
regex ×1
tensorflow ×1
time-series ×1