Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] cornell multigrasp preprocessing + loss (CRITICAL BUG IS PRESENT, NOT READY) #510

Open
wants to merge 8 commits into
base: grasp_pixel_wise_training
Choose a base branch
from

Conversation

ahundt
Copy link
Member

@ahundt ahundt commented Jun 9, 2018

  • Generate tfrecords file with multigrasp labels (multiple grasp proposals tied to a single image)
  • cleanup kfold training code
    • improve filenames, validation, kfold average calculation (which still crashes when coming up with the final kfold average)
  • remove duplicate visualization code

Work towards support for multi grasp preprocessing and a loss function that takes the lowest loss of all proposed.

There is a critical bug in this PR's image preprocessing code where the grasp position and orientation will not match objects present in the image after preprocessing. This bug can be viewed by running python2 cornell_grasp_dataset_reader.py, checking that in main() the value crop_to = 'image_contains_grasp_box_center' is enabled.

TODO:

coordinate = tf.transpose(tf.convert_to_tensor(
[coordinate[1],
coordinate[0],
1]
))
elif len(coordinate.get_shape().as_list()) > 1:
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is definitely a bug around here somewhere. The gripper angle labels aren't rotating correctly with respect to the image rotations.

@@ -842,7 +842,7 @@ def train_k_fold(split_type=None,
return run_histories


def k_fold_run_histories_average(run_histories, save_filename=None, metrics='val_acc', verbose=1):
def k_fold_run_histories_average(run_histories, save_filename=None, metrics='val_binary_accuracy', verbose=1):
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

need to actually specify the various metrics where this is called

@@ -729,7 +776,10 @@ def get_simplified_features(feature_map):
dataset = dataset.map(
map_func=get_simplified_features,
num_parallel_calls=num_parallel_calls)
dataset = dataset.batch(batch_size=batch_size) # Parse the record into tensors.
if dynamic_pad:
dataset = dataset.padded_batch(batch_size=batch_size)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't work yet, might need to specify every single param that must be padded in the dictionary, and there are quite a few...

see the huge dictionary of different parameters in the dictionary variable named features in the function parse_and_preprocess()

I need ideas for this.

@ahundt ahundt requested a review from j-varun June 9, 2018 22:13
@ahundt ahundt changed the title [WIP] Multi grasp preprocessing + loss (CRITICAL BUG IS PRESENT, NOT READY) [WIP] cornell multigrasp preprocessing + loss (CRITICAL BUG IS PRESENT, NOT READY) Jun 20, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant