VenkateshRoshan commited on
Commit
ad928bf
·
1 Parent(s): 639ab90

deploy file added

Browse files
.gitattributes ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ model/ filter=lfs diff=lfs merge=lfs -text
2
+ model/* filter=lfs diff=lfs merge=lfs -text
.github/workflows/deploy.yml ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: Deploy Docker Image to AWS
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ jobs:
9
+ build_and_deploy:
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - name: Checkout code
14
+ uses: actions/checkout@v2
15
+
16
+ - name: Configure AWS credentials
17
+ uses: aws-actions/configure-aws-credentials@v1
18
+ with:
19
+ aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
20
+ aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
21
+ aws-region: ${{ secrets.AWS_REGION }}
22
+
23
+ - name: Log in to Amazon ECR
24
+ id: login-ecr
25
+ uses: aws-actions/amazon-ecr-login@v1
26
+
27
+ # 841162707028.dkr.ecr.us-east-1.amazonaws.com/image/caption-generator
28
+
29
+ - name: Build, tag, and push Docker image
30
+ run: |
31
+ docker build -t image/caption-generator .
32
+ docker tag mnist/gradio-app:latest 841162707028.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com/image/caption-generator:latest
33
+ docker push 841162707028.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com/image/caption-generator:latest
34
+
35
+ - name: Setup SSH Key
36
+ run: |
37
+ mkdir -p ~/.ssh
38
+ echo "${{ secrets.EC2_PRIVATE_KEY }}" > ~/.ssh/private_key
39
+ chmod 600 ~/.ssh/private_key
40
+ ssh-keyscan -H ${{ secrets.EC2_HOST }} >> ~/.ssh/known_hosts
41
+
42
+ # check via ssh if the key is working
43
+ - name: Check SSH Connection
44
+ run: |
45
+ ssh -i ~/.ssh/private_key -o StrictHostKeyChecking=no ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} "echo 'SSH Connection Established'"
46
+
47
+ # # login to ECR on EC2 instance
48
+ # - name:
49
+ # run: |
50
+ # ssh -i ~/.ssh/private_key -o StrictHostKeyChecking=no ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} "aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 841162707028.dkr.ecr.us-east-1.amazonaws.com"
51
+
52
+ # - name: Pull Docker image from ECR on EC2 instance
53
+ # run: |
54
+ # ssh -i ~/.ssh/private_key -o StrictHostKeyChecking=no ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} "docker pull ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com/mnist/gradio-app:latest"
55
+
56
+ # - name: Stop and remove existing Docker container on EC2
57
+ # run: |
58
+ # ssh -i ~/.ssh/private_key -o StrictHostKeyChecking=no ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} "docker stop gradio-app || true && docker rm gradio-app || true"
59
+
60
+ # - name: Run new Docker container on EC2
61
+ # run: |
62
+ # ssh -i ~/.ssh/private_key -o StrictHostKeyChecking=no ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} "docker run -d -p 7860:7860 --name gradio-app ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_REGION }}.amazonaws.com/mnist/gradio-app:latest"
63
+
64
+ # - name: Verify Deployment
65
+ # run: |
66
+ # ssh -i ~/.ssh/private_key -o StrictHostKeyChecking=no ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} "docker ps | grep gradio-app"
.github/workflows/sync_to_hf.yml CHANGED
@@ -1,4 +1,4 @@
1
- name: Sync to Hugging Face hub
2
  on:
3
  push:
4
  branches: [main]
 
1
+ name: Sync to Hugging Face hub
2
  on:
3
  push:
4
  branches: [main]
README.md CHANGED
@@ -1,2 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
1
  # Image-Captioning-with-Vision-Transformer-and-GPT-2
2
- End-to-End Image Captioning with Vision Transformer and GPT-2: Training and Deployment on AWS SageMaker
 
1
+ ---
2
+ title: Image Caption Generator
3
+ emoji: 🦀
4
+ colorFrom: purple
5
+ colorTo: blue
6
+ sdk: gradio
7
+ sdk_version: 4.44.0
8
+ app_file: gradioApp.py
9
+ pinned: false
10
+ ---
11
+
12
  # Image-Captioning-with-Vision-Transformer-and-GPT-2
13
+ End-to-End Image Captioning with Vision Transformer and GPT-2: Training and Deployment on AWS SageMaker