Beispiel #1
0
def show_recons_seq(sess, ckptfile):
    e2c.saver.restore(sess, ckptfile)  # restore variable values
    dataset = PlaneData("data/plane1.npz", "data/env1.png")
    dataset.initialize()
    T = e2c.T
    print(T)
    (x_vals, u_vals) = dataset.sample_seq(e2c.batch_size, T)
    feed_dict = {}
    for t in range(T):
        feed_dict[e2c.xs[t]] = x_vals[t]
    for t in range(T - 1):
        feed_dict[e2c.us[t]] = u_vals[t]

    fetches = e2c.x_recons + e2c.x_predicts
    results = sess.run(fetches, feed_dict)
    xr = results[:T - 1]
    xp = results[T - 1:]
    A, B = e2c.A, e2c.B

    def getimgs(x):
        padsize = 1
        padval = .5
        ph = B + 2 * padsize
        pw = A + 2 * padsize
        img = np.ones((ph, len(x) * pw)) * padval
        for t in range(len(x)):
            startc = t * pw + padsize
            img[padsize:padsize + B, startc:startc + A] = x[t][1, :].reshape(
                (A, B))
        return img

    fig, arr = plt.subplots(3, 1)
    arr[0].matshow(getimgs(x_vals), cmap=plt.cm.gray, vmin=0, vmax=1)
    arr[0].set_title('X')
    arr[1].matshow(getimgs(xr), cmap=plt.cm.gray, vmin=0, vmax=1)
    arr[1].set_title('Reconstruction')
    arr[2].matshow(getimgs(xp), cmap=plt.cm.gray, vmin=0, vmax=1)
    arr[2].set_title('Prediction')
    plt.show()
Beispiel #2
0
def show_recons_seq(sess, ckptfile):
  e2c.saver.restore(sess, ckptfile) # restore variable values
  dataset=PlaneData("data/plane1.npz","data/env1.png")
  dataset.initialize()
  T=e2c.T
  print(T)
  (x_vals,u_vals)=dataset.sample_seq(e2c.batch_size,T)
  feed_dict={}
  for t in range(T):
    feed_dict[e2c.xs[t]] = x_vals[t]
  for t in range(T-1):
    feed_dict[e2c.us[t]] = u_vals[t]
  
  fetches=e2c.x_recons + e2c.x_predicts
  results=sess.run(fetches,feed_dict)
  xr=results[:T-1]
  xp=results[T-1:]
  A,B=e2c.A,e2c.B
  def getimgs(x):
    padsize=1
    padval=.5
    ph=B+2*padsize
    pw=A+2*padsize
    img=np.ones((ph,len(x)*pw))*padval
    for t in range(len(x)):
      startc=t*pw+padsize
      img[padsize:padsize+B, startc:startc+A]=x[t][1,:].reshape((A,B))
    return img
  fig,arr=plt.subplots(3,1)
  arr[0].matshow(getimgs(x_vals),cmap=plt.cm.gray,vmin=0,vmax=1)
  arr[0].set_title('X')
  arr[1].matshow(getimgs(xr),cmap=plt.cm.gray,vmin=0,vmax=1)
  arr[1].set_title('Reconstruction')
  arr[2].matshow(getimgs(xp),cmap=plt.cm.gray,vmin=0,vmax=1)
  arr[2].set_title('Prediction')
  plt.show()
Beispiel #3
0
  # resume training
  saver.restore(sess, "/ltmp/e2c-plane-single1.ckpt")

  # test to make sure samples are actually trajectories

  def getimgs(x):
    padsize=1
    padval=.5
    ph=B+2*padsize
    pw=A+2*padsize
    img=np.ones((ph,len(x)*pw))*padval
    for t in range(len(x)):
      startc=t*pw+padsize
      img[padsize:padsize+B, startc:startc+A]=x[t][20,:].reshape((A,B))
    return img
  (x_vals,u_vals)=dataset.sample_seq(batch_size,T)
  plt.matshow(getimgs(x_vals),cmap=plt.cm.gray,vmin=0,vmax=1)
  plt.show()

  train_iters=2e5 # 5K iters
  for i in range(int(train_iters)):
    (x_vals,u_vals)=dataset.sample_seq(batch_size,T,replace=False)
    feed_dict={}
    for t in range(T):
      feed_dict[xs[t]] = x_vals[t]
    for t in range(T-1):
      feed_dict[us[t]] = u_vals[t]

    results=sess.run([loss,all_summaries,train_op],feed_dict)
    if i%1000==0:
      print("iter=%d : Loss: %f" % (i,results[0]))
Beispiel #4
0
  # resume training
  saver.restore(sess, "/ltmp/e2c-plane-single1.ckpt")

  # test to make sure samples are actually trajectories

  def getimgs(x):
    padsize=1
    padval=.5
    ph=B+2*padsize
    pw=A+2*padsize
    img=np.ones((ph,len(x)*pw))*padval
    for t in range(len(x)):
      startc=t*pw+padsize
      img[padsize:padsize+B, startc:startc+A]=x[t][20,:].reshape((A,B))
    return img
  (x_vals,u_vals)=dataset.sample_seq(batch_size,T)
  plt.matshow(getimgs(x_vals),cmap=plt.cm.gray,vmin=0,vmax=1)
  plt.show()

  train_iters=2e5 # 5K iters
  for i in range(int(train_iters)):
    (x_vals,u_vals)=dataset.sample_seq(batch_size,T,replace=False)
    feed_dict={}
    for t in range(T):
      feed_dict[xs[t]] = x_vals[t]
    for t in range(T-1):
      feed_dict[us[t]] = u_vals[t]

    results=sess.run([loss,all_summaries,train_op],feed_dict)
    if i%1000==0:
      print("iter=%d : Loss: %f" % (i,results[0]))