假设我在表单中有一个包含整数的文件
1 57 97 100 27 86 ...
Run Code Online (Sandbox Code Playgroud)
假设我有一个输入文件流fin,我尝试从文件中读取整数.
ifstream fin("test.txt");
int val;
fin>>val;
Run Code Online (Sandbox Code Playgroud)
现在我在while循环中执行此操作,在一段时间内,我想将我的文件指针正好移回一个整数.也就是说,如果我的文件指针即将读取整数27当我这样做fin>>val,我想移动文件指针,以便它可以读取整数100当我这样做fin>>val.我知道我们可以使用,fin.seekg()但我只使用它来按字符移动文件指针,而不是整数.
可能这是一个天真的问题.但有人可以帮帮我吗?
我正在尝试使用双指针(指向指针的指针)并想要正确理解它.我正在尝试以下代码
#include<stdio.h>
int main()
{
int y = 5;
int *p = &y;
int *q = &p;
printf("\n\n %p %p %p %p %d\n\n",q,&p,p,*q,*p);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
现在在上面的代码中,p是指向y的指针,q是指向p的指针.我故意不使用双指针(**q),只是为了检查发生了什么.编译器给了我一个警告,指示不兼容的指针类型.当我执行代码时,我理解q是指向p的指针,所以它包含p的地址,但是*q没有给我p中包含的值,即y的地址,而是我得到了一些垃圾值.是因为我没有将q声明为双指针吗?任何人都可以解释为什么我得到*q的一些奇怪的价值?
我正在一个项目中,我将不得不分析来自设备的信号。我有一个图书馆在工作,可以从设备中获取数据。到目前为止,我正在收集数据,然后将其绘制出来。我对构建实时数据监控器感兴趣,该监控器可以实时绘制图形。搜索后,我发现PyQtGraph非常适合该任务。我对Qt不熟悉,因此我正在寻找可以根据需要进行修改的示例。PyQtGraph文档中提供的一些示例可实时更新绘图,但我需要一个实时监控器(Live Monitor),该图形在不断接收数据的同时向右移动。
如果它像一个已知的连续函数,我可以更新输入x - w*t与t暂且以获得波向右移动。但这是离散的数据,因此我不确定如何使用PyQtGraph使其工作。因此,如果有人可以提出一些建议,那就太好了。
截至目前,这就是我所拥有的
码
app = QtGui.QApplication([])
#mw = QtGui.QMainWindow()
#mw.resize(800,800)
win = pg.GraphicsWindow(title="Basic plotting examples")
win.resize(1000,600)
win.setWindowTitle('pyqtgraph example: Plotting')
# Enable antialiasing for prettier plots
pg.setConfigOptions(antialias=True)
p6 = win.addPlot(title="Updating plot")
curve = p6.plot(pen='r')
X_axis = numpy.linspace(0,100,12800)
#'data' is my required y_axis containing 12800 values
ydata = np.array_split(data,50)
xdata = np.array_split(X_axis,50)
ptr = 0
def update():
global curve, data, ptr, p6
curve.setData(xdata[ptr%50],ydata[ptr%50])
ptr += 1
timer = QtCore.QTimer()
timer.timeout.connect(update)
timer.start(1000)
Run Code Online (Sandbox Code Playgroud)
这是每2秒更新一次数据,但是我希望它向右移动。
我正在尝试在Keras和TensorFlow中实现actor-critic的异步版本.我正在使用Keras作为构建我的网络层的前端(我正在使用tensorflow直接更新参数).我有一个global_model和一个主张量流会话.但是在每个线程中我创建了一个local_model从中复制参数global_model.我的代码看起来像这样
def main(args):
config=tf.ConfigProto(log_device_placement=False,allow_soft_placement=True)
sess = tf.Session(config=config)
K.set_session(sess) # K is keras backend
global_model = ConvNetA3C(84,84,4,num_actions=3)
threads = [threading.Thread(target=a3c_thread, args=(i, sess, global_model)) for i in range(NUM_THREADS)]
for t in threads:
t.start()
def a3c_thread(i, sess, global_model):
K.set_session(sess) # registering a session for each thread (don't know if it matters)
local_model = ConvNetA3C(84,84,4,num_actions=3)
sync = local_model.get_from(global_model) # I get the error here
#in the get_from function I do tf.assign(dest.params[i], src.params[i])
Run Code Online (Sandbox Code Playgroud)
我收到了来自Keras的用户警告
UserWarning:默认的TensorFlow图形不是与当前在Keras中注册的TensorFlow会话相关联的图形,因此Keras无法自动初始化变量.您应该考虑通过Keras注册正确的会话
K.set_session(sess)
然后是tf.assign操作上的张量流错误,表示操作必须在同一图表上. …