以下是 Flutter 项目中 pubspec.yaml 文件中的一些依赖项示例。
dependencies:
flutter:
sdk: flutter
cloud_firestore: ^0.14.4
firebase_core_web: ^0.2.1
firebase_crashlytics: "^0.2.4"
firebase_analytics: "^6.3.0"
Run Code Online (Sandbox Code Playgroud)
我在安装它们时只是遵循了安装指南。如图所示,某些依赖项的版本号为“...”,而其他依赖项则没有。
它似乎以两种方式起作用,但我想知道正确的方法是什么。我应该始终将版本号放入“...”吗?
我有以下熊猫数据框:
d2 = {'col1': [0, 0, 1, 1, 2], 'col2': [10, 11, 12, 13, 14]}
df2 = pd.DataFrame(data=d2)
df2
Run Code Online (Sandbox Code Playgroud)
输出:
col1 col2
0 0 10
1 0 11
2 1 12
3 1 13
4 2 14
Run Code Online (Sandbox Code Playgroud)
我需要运行以下命令:
for i, g in df2.groupby(['col1']):
col1_val = g["col1"].iloc[0]
print(col1_val)
Run Code Online (Sandbox Code Playgroud)
原始代码更复杂,但出于说明目的而编写。
该部分for i, g in df2.groupby(['col1']):给出了以下警告:
FutureWarning: In a future version of pandas, a length 1 tuple will be returned
when iterating over a groupby with a grouper equal to a …Run Code Online (Sandbox Code Playgroud) 我不确定是否只有我认为 tensorflow 文档有点弱。
我打算使用 tf.nn.batch_normalization 函数来实现批量标准化,但后来发现 tf.layers.batch_normalization 函数似乎应该是使用它的一个简单的函数。但是如果我可以说,文档真的很差。
我试图了解如何正确使用它,但根据网页上提供的信息,这真的不容易。我希望也许其他一些人有经验并帮助我(可能还有很多其他人)理解它。
先分享一下界面:
tf.layers.batch_normalization(
inputs,
axis=-1,
momentum=0.99,
epsilon=0.001,
center=True,
scale=True,
beta_initializer=tf.zeros_initializer(),
gamma_initializer=tf.ones_initializer(),
moving_mean_initializer=tf.zeros_initializer(),
moving_variance_initializer=tf.ones_initializer(),
beta_regularizer=None,
gamma_regularizer=None,
beta_constraint=None,
gamma_constraint=None,
training=False,
trainable=True,
name=None,
reuse=None,
renorm=False,
renorm_clipping=None,
renorm_momentum=0.99,
fused=None,
virtual_batch_size=None,
adjustment=None
)
Run Code Online (Sandbox Code Playgroud)
Q1) beta 值初始化为零,gamma 值初始化为 1。但没有说明原因。当使用批量归一化时,我知道神经网络的普通偏差参数变得过时,而批量归一化步骤中的 beta 参数也做同样的事情。从这个角度来看,将 beta 设置为零是可以理解的。但是为什么 gamma 值初始化为 1?这真的是最有效的方法吗?
Q2)我在那里也看到了一个动量参数。文档只是说“移动平均线的动量。”。我假设在计算相应隐藏层中某个小批量的“平均值”值时使用此参数。换句话说,批量标准化中使用的平均值不是当前小批量的平均值,它主要是最近 100 个小批量的平均值(因为动量 = 0.99)。但目前还不清楚这个参数如何影响测试的执行,或者我是否只是通过计算成本和准确性来验证我的模型在开发集上。我的假设是当我处理测试集和开发集时,我将参数“training”设置为 False 以便动量参数对于该特定执行变得过时,而现在使用在训练期间计算的“均值”和“方差”值代替计算新的均值和方差值。如果我弄错了,应该是这样,但如果是这种情况,我在文档中看不到任何内容。谁能确认我的理解是正确的?如果没有,我将非常感谢对此的进一步解释。
Q3)我很难为可训练参数赋予意义。我假设这里的意思是 beta 和 gamma 参数。为什么他们不能训练?
Q4)“重用”参数。它到底是什么?
Q5) 调整参数。另一个谜..
Q5)一种总结性问题..这是我需要确认和反馈的总体假设..这里的重要参数是: - 输入 - 轴 - 动量 - 中心 - 规模 - 训练 …
我有以下示例数据框:
import pandas as pd
d = {'col1': [2, 5, 6, 5, 4, 6, 7, 8, 9, 7, 5]}
df = pd.DataFrame(data=d)
print(df)
Run Code Online (Sandbox Code Playgroud)
输出:
col1
0 2
1 5
2 6
3 5
4 4
5 6
6 7
7 8
8 9
9 7
10 5
Run Code Online (Sandbox Code Playgroud)
我需要计算col1中前 N 行的斜率,并将斜率值保存在单独的列中(称为斜率)。所需的输出可能如下所示:(出于示例目的,下面给出的斜率值只是随机数。)
col1 slope
0 2
1 5
2 6
3 5
4 4 3
5 6 4
6 7 5
7 8 2
8 9 4
9 7 …Run Code Online (Sandbox Code Playgroud) 以下是产生问题的 Python 语句:
nan_rows = df[df.isnull().any(1)]
Run Code Online (Sandbox Code Playgroud)
并且它给出了以下警告:
FutureWarning: In a future version of pandas all arguments of DataFrame.any and Series.any will be keyword-only.
Run Code Online (Sandbox Code Playgroud)
这是来自生产环境的警告。很抱歉,我无法分享完整的代码,因为解决这个问题相当复杂。
我怎样才能理解这个警告的意思,以及我应该如何更新这行代码?
python ×4
dataframe ×3
pandas ×3
flutter ×1
group-by ×1
numpy ×1
python-3.x ×1
scipy ×1
tensorflow ×1