vla-sft-code-dreamtacvla / ModelTrain /model_inference_test.py
poet70's picture
Upload folder using huggingface_hub
97dbcca verified
Raw
History Blame Contribute Delete
3.28 kB
import os,sys
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print(BASE_DIR)
sys.path.append(BASE_DIR)
sys.path.append(BASE_DIR+'/ModelTrain')
sys.path.append(BASE_DIR+'/ModelTrain/detr')
sys.path.append(BASE_DIR+'/robomimic-r2d2')
from ModelTrain.module.model_module import Imitate_Model
import cv2
import h5py
import numpy as np
import cv2
if __name__ == '__main__':
model = Imitate_Model(ckpt_dir='./ckpt/clean_dishes',ckpt_name='clean_dishes_model.ckpt')
model.loadModel()
observation = {'qpos':[],'images':{'left_wrist':[],'right_wrist':[],'top':[]}}
i=0
# while i<10:
# observation['qpos'] = [-1.57, 0, -1.57, 0, 1.57, 1.57, 1, 1.57, 0, 1.57, 0, -1.57, -1.57, 1] # input joint value (unit radians) and Grippers value(0~1).The 7th and 14th values are the left and right hand gripper values, respectively
# observation['images']['left_wrist'] = cv2.imread("./testimg/left_wrist.jpg", 1) # input image
# observation['images']['right_wrist'] = cv2.imread("./testimg/right_wrist.jpg", 1)
# observation['images']['top'] = cv2.imread("./testimg/top.jpg", 1)
# cv2.imshow("img", observation['images']['left_wrist'])
# cv2.waitKey(0)
# action = model.predict(observation,i) # out put
# print(action)
# i +=1
show_canvas = np.zeros((480, 640*3, 3), dtype=np.uint8)
with h5py.File("./datasets/clean_dishes_data/train_data/episode_init_0.hdf5", 'r', rdcc_nbytes=1024 ** 2 * 2) as root:
print(len(root["/observations/images/top"]))
for i in range(len(root["/observations/images/top"])):
qpos = root["/observations/qpos"][i]
print("qpos:",[np.rad2deg(i) for i in qpos])
action = root["action"][i]
print("action:",[np.rad2deg(i) for i in action])
show_canvas[:, :640] = np.asarray(cv2.imdecode(np.asarray(root["/observations/images/top"][i], dtype="uint8"), cv2.IMREAD_COLOR), dtype="uint8")
show_canvas[:, 640:640 * 2] = np.asarray(cv2.imdecode(np.asarray(root["/observations/images/left_wrist"][i], dtype="uint8"), cv2.IMREAD_COLOR), dtype="uint8")
show_canvas[:, 640 * 2:640 * 3] = np.asarray(cv2.imdecode(np.asarray(root["/observations/images/right_wrist"][i], dtype="uint8"), cv2.IMREAD_COLOR), dtype="uint8")
cv2.imshow("0", show_canvas)
observation['qpos'] = qpos # input joint value (unit radians) and Grippers value(0~1).The 7th and 14th values are the left and right hand gripper values, respectively
observation['images']['left_wrist'] = cv2.imdecode(np.asarray(root["/observations/images/left_wrist"][i], dtype="uint8"), cv2.IMREAD_COLOR) # input image
observation['images']['right_wrist'] = cv2.imdecode(np.asarray(root["/observations/images/right_wrist"][i], dtype="uint8"), cv2.IMREAD_COLOR)
observation['images']['top'] = cv2.imdecode(np.asarray(root["/observations/images/top"][i], dtype="uint8"), cv2.IMREAD_COLOR)
predict_action = model.predict(observation, i) # output
print("action_delta:",[np.rad2deg(i) for i in (predict_action-action)])
i += 1
cv2.waitKey(0)