小编Vel*_*ron的帖子

仅使用返回的指针获取malloc的大小

我希望能够改变我的数组的大小,所以我这样创建一个:

int* array;
array = malloc(sizeof(int)*10);//10 integer elements
Run Code Online (Sandbox Code Playgroud)

我可以像往常一样使用它像数组一样,但是当我试图找到它的大小时:

size = sizeof(array)/sizeof(int);
Run Code Online (Sandbox Code Playgroud)

我得到了答案1,因为它没有将其识别为指向数组

如何获得阵列的大小?(我知道它在技术上不是一个数组,但有没有办法计算出分配的内存块的整个大小?)

我也正确地假设我在描述中说明了什么?如果我在技术上有所不及,请纠正我.

c arrays malloc pointers sizeof

3
推荐指数
2
解决办法
1万
查看次数

如何处理keras中多变量LSTM的多步时间序列预测

我正在尝试使用Keras中的多变量LSTM进行多步时间序列预测.具体来说,我最初每个时间步有两个变量(var1和var2).在这里遵循在线教程后,我决定在时间(t-2)和(t-1)使用数据来预测时间步t的var2的值.如示例数据表所示,我使用前4列作为输入,Y作为输出.我可以在这里看到我开发的代码,但我有三个问题.

   var1(t-2)  var2(t-2)  var1(t-1)  var2(t-1)  var2(t)
2        1.5       -0.8        0.9       -0.5     -0.2
3        0.9       -0.5       -0.1       -0.2      0.2
4       -0.1       -0.2       -0.3        0.2      0.4
5       -0.3        0.2       -0.7        0.4      0.6
6       -0.7        0.4        0.2        0.6      0.7
Run Code Online (Sandbox Code Playgroud)
  1. 问题1:我已经使用上述数据训练了LSTM模型.该模型在预测时间步t的var2值方面表现良好.但是,如果我想在时间步t + 1预测var2,该怎么办?我觉得很难,因为模型不能告诉我var1在时间步t的值.如果我想这样做,我应该如何修改代码来构建模型?
  2. Q2:我已经看到这个问题了很多,但我仍然感到困惑.在我的例子中,[样本,时间步长,特征] 1或2中的正确时间步长应该是多少?
  3. Q3:我刚开始学习LSTM.我在这里读到LSTM最大的优点之一就是它自己学习了时间依赖性/滑动窗口大小,为什么我们必须总是将时间序列数据转换成如上表所示的格式?

更新:LSTM结果(蓝线是训练序列,橙线是基础事实,绿色是预测) 在此输入图像描述

time-series deep-learning lstm keras tensorflow

3
推荐指数
1
解决办法
7118
查看次数

Python - 将dict列表附加到嵌套的defaultdict时的键错误

我正在尝试在Python中创建嵌套字典的数据结构.我将2个类似sql-table的关系csv文件读入数据帧,然后逐行将它们转换为字典.在这些词典中,我存储了我从另一个csv创建的词典.

只要我将字典直接存储在dict键中,我的代码就可以正常工作.

但我真正想要的是data[id]['ticket']包含一个字典列表.(1位客户可以拥有多张门票)

import json
import pandas as pd
import collections

# Import csv into dataframe (maybe not necessesary)
df1 = pd.read_csv('customer.csv', sep=';', header=0, dtype=object, na_filter=False)
df2 = pd.read_csv('tickets.csv', sep=';', header=0, dtype=object, na_filter=False)

df1['tickets'] = '' #create new empty column in dataframe 1

data = collections.defaultdict(dict)

# Convert initial dataframe to dictionary of dictionarys
for index, row in df1.iterrows():
    row_dict = row.to_dict()
    data[row_dict['id']] = row_dict
    data[row_dict['id']]['tickets'] = []

# Convert each row of dataframe 2 to into dictionary …
Run Code Online (Sandbox Code Playgroud)

python json dictionary pandas defaultdict

3
推荐指数
1
解决办法
551
查看次数

laravel file_put_contents():此流不支持排他锁

我尝试将我的网站上传到 Laravel 以进行托管和配置,但无法加载该项目。错误如下:

file_put_contents():此流不支持排他锁

我该如何解决?

laravel

2
推荐指数
2
解决办法
1万
查看次数

Luigi:通过构建函数对Parallazing luigi任务进行错误

我正在通过luigi.build函数尝试luigi多处理功能.但是我在执行时遇到了一些库错误.

self._add(item,is_complete)中的下一个:文件"/home/manoj/anaconda2/lib/python2.7/site-packages/luigi/worker.py",第604行,在_add self._validate_dependency(d)文件中"/home/manoj/anaconda2/lib/python2.7/site-packages/luigi/worker.py",第622行,在_validate_dependency中引发Exception('requires()必须返回Task对象')

这是我试图实现给定目标的一段代码.

import luigi

class TaskOne(luigi.Task):
    custid= luigi.Parameter() 
    def requires(self):
        pass
    def output(self):
        return luigi.LocalTarget("logs/"+str(self.custid)+"_success")
    def run(self):
        with self.output().open('w') as f:
            f.write("%s\n" % '')
        
               
class TaskTwo(luigi.Task):  
    def requires(self): 
        customersList = ['A','B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']
        yield luigi.build([TaskOne(custid=cust_id) for cust_id in customersList], workers=2)  
    def output(self):
        return luigi.LocalTarget("logs/overall_success.txt")
    def run(self):
        with self.output().open('w') as f:
            f.write("%s\n" % "success")
         
if __name__ == '__main__':
    luigi.run()
Run Code Online (Sandbox Code Playgroud)

================================================== ======================

parallel-processing function build luigi

0
推荐指数
1
解决办法
247
查看次数