我目前正在开发一个项目,该项目会在触发与光相关的某些活动时通知用户.我做过与光有关的部分.因此,我需要找到一种有效的方法来检索python中的日出和日落时间,因为整个脚本是用python编写的.我知道有几个库用于其他语言,我想知道在python中最方便的方法是做什么.
我想这看起来很像这样:
if(sunrise<T<sunset) and (light<threshold):
notifyUser()
Run Code Online (Sandbox Code Playgroud)
我很感激这里的任何帮助,有一个好的.
我目前正在构建一个 LSTM 网络来使用 PyTorch 预测时间序列数据。在Roman 的博客文章之后,我为单变量时间序列数据实现了一个简单的 LSTM,请参阅下面的类定义。然而,自从我停止向输入数据添加更多功能以来已经过去了几天,比如一天中的一个小时、一周中的某一天、一年中的一周等等。
\nclass Model(nn.Module):\n def __init__(self, input_size, hidden_size, output_size):\n super(Model, self).__init__()\n self.input_size = input_size\n self.hidden_size = hidden_size\n self.output_size = output_size\n self.lstm = nn.LSTMCell(self.input_size, self.hidden_size)\n self.linear = nn.Linear(self.hidden_size, self.output_size)\n\n def forward(self, input, future=0, y=None):\n outputs = []\n\n # reset the state of LSTM\n # the state is kept till the end of the sequence\n h_t = torch.zeros(input.size(0), self.hidden_size, dtype=torch.float32)\n c_t = torch.zeros(input.size(0), self.hidden_size, dtype=torch.float32)\n\n for i, input_t in enumerate(input.chunk(input.size(1), dim=1)):\n h_t, c_t = …Run Code Online (Sandbox Code Playgroud) 我目前正在致力于使用 PyTorch 构建 LSTM 模型来预测时间序列数据。我使用滞后特征将前面的 n 个步骤作为输入来训练网络。我将数据分为三组,即训练-验证-测试分割,并使用前两组来训练模型。我的验证函数从验证数据集中获取数据,并使用 DataLoaders 和 TensorDataset 类将其传递到 LSTM 模型来计算预测值。最初,我得到了相当好的结果,R2 值在 0.85-0.95 范围内。
然而,我对这个验证功能是否也适合测试我的模型的性能有一种不安的感觉。因为该函数现在从 DataLoader 获取实际的 X 值(即时滞特征)来预测 y^ 值(即预测的目标值),而不是使用预测的 y^ 值作为下一次预测中的特征。这种情况似乎与现实相去甚远,模型不知道之前时间步长的实际值,特别是如果您预测较长时间段(例如 3-6 个月)的时间序列数据。
我目前对解决这个问题并定义一个函数来根据模型的值而不是测试集中的实际值来预测未来值感到有点困惑。我有以下函数predict,它可以进行一步预测,但我还没有真正弄清楚如何使用 DataLoader 预测整个测试数据集。
def predict(self, x):
# convert row to data
x = x.to(device)
# make prediction
yhat = self.model(x)
# retrieve numpy array
yhat = yhat.to(device).detach().numpy()
return yhat
Run Code Online (Sandbox Code Playgroud)
您可以在下面找到我如何拆分和加载数据集、LSTM 模型的构造函数以及验证函数。如果您需要更多信息,请随时与我联系。
分割和加载数据集
def create_tensor_datasets(X_train_arr, X_val_arr, X_test_arr, y_train_arr, y_val_arr, y_test_arr):
train_features = torch.Tensor(X_train_arr)
train_targets = torch.Tensor(y_train_arr)
val_features = torch.Tensor(X_val_arr)
val_targets = torch.Tensor(y_val_arr) …Run Code Online (Sandbox Code Playgroud) 阅读了几个小时的文档和教程后,我最终陷入了更多的困惑。因此,我在这里请求您的帮助/提示,我非常感谢您的任何努力帮助我更进一步。对于我可能犯的任何错误,我很抱歉,可以这么说,我在这个主题上还是个新手。
我正在构建一个 Web 应用程序,实际上是一个网页,一旦收到来自外部源的 GET/POST 请求,它就会开始运行。所以,如果收到任何请求,页面就会异步更新,为此我想到了稍后在前端使用 AngularJS 和 AngularFire。我知道还有很多其他方法,而且可能也更简单,但我很好奇如何将我的 CakePHP 应用程序与 Firebase 平台集成。所以,我们继续使用CakePHP + Firebase现在
到目前为止,使用 SDK Firebase PHP 客户端很有意义,但是,我仍然对需要操作的文件感到困惑。由于使用 CakePHP3 框架和 Firebase 的示例并不多(到目前为止我还没有找到),所以我被困在这里,非常感谢这里的任何帮助。首先,这段代码在链接中给出,我想知道它是如何工作的以及这些变量和常量代表什么。
const DEFAULT_URL = 'https://kidsplace.firebaseio.com/';
const DEFAULT_TOKEN = 'MqL0c8tKCtheLSYcygYNtGhU8Z2hULOFs9OKPdEp';
const DEFAULT_PATH = '/firebase/example';
$firebase = new \Firebase\FirebaseLib(DEFAULT_URL, DEFAULT_TOKEN);
// --- storing an array ---
$test = array(
"foo" => "bar",
"i_love" => "lamp",
"id" => 42
);
$dateTime = new DateTime();
$firebase->set(DEFAULT_PATH . '/' . $dateTime->format('c'), $test);
// --- storing a string ---
$firebase->set(DEFAULT_PATH …Run Code Online (Sandbox Code Playgroud) lstm ×2
pytorch ×2
time-series ×2
angularfire ×1
cakephp ×1
cakephp-3.0 ×1
datetime ×1
firebase ×1
php ×1
python ×1
raspberry-pi ×1
time ×1