{"id":16962948,"url":"https://github.com/gudongfeng/c3d-estimator-sagemaker","last_synced_at":"2026-03-07T23:31:01.083Z","repository":{"id":77360018,"uuid":"156023571","full_name":"gudongfeng/C3D-estimator-sagemaker","owner":"gudongfeng","description":"Tensorflow estimator implementation of the C3D network","archived":false,"fork":false,"pushed_at":"2018-11-03T21:04:05.000Z","size":8,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-14T12:52:26.388Z","etag":null,"topics":["c3d","sagemaker","tensorflow","tensorflow-estimator"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gudongfeng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-03T21:02:04.000Z","updated_at":"2024-01-23T10:04:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"4c3af5fa-8734-43cf-ab29-7cdbb7a61860","html_url":"https://github.com/gudongfeng/C3D-estimator-sagemaker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gudongfeng/C3D-estimator-sagemaker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gudongfeng%2FC3D-estimator-sagemaker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gudongfeng%2FC3D-estimator-sagemaker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gudongfeng%2FC3D-estimator-sagemaker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gudongfeng%2FC3D-estimator-sagemaker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gudongfeng","download_url":"https://codeload.github.com/gudongfeng/C3D-estimator-sagemaker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gudongfeng%2FC3D-estimator-sagemaker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30237329,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T23:24:20.706Z","status":"ssl_error","status_checked_at":"2026-03-07T23:21:10.486Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c3d","sagemaker","tensorflow","tensorflow-estimator"],"created_at":"2024-10-13T23:22:55.947Z","updated_at":"2026-03-07T23:31:01.051Z","avatar_url":"https://github.com/gudongfeng.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# C3D-sagemaker-estimator\nC3D tensorflow estimator implementation\n\n## Install the following dependencies\n- Tensorflow 1.11\n- python 3.6.5\n- opencv-python 3.4.3.18\n- Pillow 5.3.0 \n- sagemaker 1.12.0\n\n## Data preparation\n1. Download the video dataset and make sure it has the following folder structure (`../video/\u003caction_name\u003e/\u003cvideo1.avi\u003e` KTH ex: ../kth_video/boxing/person01_boxing_d1_uncomp.avi)\n2. Run the `prepare_data_main.py`. You need to specify the `data_dir`, `train_output_path`, and `eval_output_path`. \n  - `data_dir`: `../kth_video`\n3. When the script finished. It will print out the following informations\n  - Total clips in train dataset: `AAAA` (Take a record of this number)\n  - Total clips in eval dataset: `BBBB` (Take a record of this number)\n\n## Train (Local)\n1. Paste the number `AAAA` from previous step to `train_total_video_clip` in the `debug_train.py` file.\n2. Paste the number `BBBB` from previous step to `eval_total_video_clip` in the `debug_train.py` file.\n3. Copy and paste the `eval.tfrecord` and `train.tfrecord` file generated from the previous step to a folder named `../tfrecord`.\n4. Set the `DATA_DIR` in the `debug_train.py` to the proper folder name in the previous step.\n5. Run `python debug_train.py` (Make sure you have all the dependencies).\n\n## Train (AWS sagemaker)\n**Note: It turns out Sagemaker doesn't support python3 for Tensorflow script at this moment (2018.Nov.1)!!!**\n**So I will stop working on this part and left the `sagemaker_main.template` file as it is for now.**\n1. Register AWS account. [AWS Console](https://console.aws.amazon.com)\n2. Create an IAM user with only `Programmatic access` and attached `AmazonS3FullAccess` and `AmazonSageMakerFullAccess` to this IAM user. Keep a record of your `Access Key ID` and `Secret Access Key` (**Don't tell anyone this information!!! Even your husband/wife**).\n3. Install [boto3](https://aws.amazon.com/sdk-for-python/) on your local desktop. Run `aws configure` in your console and paste the `Access Key ID` and `Secret Access Key` from previous step. Keep in mind the region (ex: `us-west-2`) that you used.\n4. Create a new Role with name `sagemaker-full-access-role` and attach an inline policy with the following [JSON](http://gudongfeng.me/sagemaker-role-inline-policy.txt)\n5. Create a new S3 bucekt with whatever name you want in the same region in Step3. Let said the S3 bucket name is `machine_leaning_data_bucket`.\n6. Rename the `sagemaker_main.template` to `sagemaker_main.py`\n7. Copy the new Role ARN (ex: `arn:aws:iam::\u003caws_account_id\u003e:role/sagemaker-full-access-role`) and paste it to the `role` value in the `sagemaker_main.py`\n8. Replace the `\u003cs3_bucket_name\u003e` in `sagemaker_main.py` with S3 bucket name `machine_leaning_data_bucket` (Whatever S3 bucket name you have).\n9. Chooes one option in the `sagemaker_main.py` and run `python sagemaker_main.py`. Notice that if you choose \n\u003e As I said at the beginning, sagemaker doesn't support tensorflow docker image with python version 3, so you will get error `Attempted relative import in non-package` at this moment. I will try to rework this file once sagemaker support it. ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgudongfeng%2Fc3d-estimator-sagemaker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgudongfeng%2Fc3d-estimator-sagemaker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgudongfeng%2Fc3d-estimator-sagemaker/lists"}