manhteky123 commited on
Commit
a72de47
·
verified ·
1 Parent(s): 9cc0f92

Upload 25 files

Browse files
Files changed (5) hide show
  1. Dockerfile +8 -18
  2. blip2_vicuna_instruct.py +1 -1
  3. emo/train.json +3 -3
  4. requirements.txt +0 -0
  5. start.sh +76 -76
Dockerfile CHANGED
@@ -13,8 +13,8 @@ ENV PYTHONDONTWRITEBYTECODE=1 \
13
 
14
  # Install basic dependencies
15
  RUN apt-get update && apt-get install -y --no-install-recommends \
16
- python3.9 \
17
- python3.9-dev \
18
  python3-pip \
19
  python3-setuptools \
20
  git \
@@ -26,10 +26,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
26
  && rm -rf /var/lib/apt/lists/*
27
 
28
  # Create symbolic link for python
29
- RUN ln -sf /usr/bin/python3.9 /usr/bin/python
30
 
31
  # Upgrade pip
32
- RUN python3.9 -m pip install --no-cache-dir --upgrade pip
33
 
34
  # Create cache directories
35
  RUN mkdir -p /app/.cache/transformers \
@@ -37,23 +37,13 @@ RUN mkdir -p /app/.cache/transformers \
37
  /app/.cache/torch \
38
  /app/.cache/datasets
39
 
40
- # Install PyTorch with CUDA support
41
- RUN pip install --no-cache-dir torch==2.0.0 torchvision==0.15.1 torchaudio==2.0.1 --extra-index-url https://download.pytorch.org/whl/cu118
42
-
43
- # Install latest version of transformers that includes Cache class
44
- RUN pip install --no-cache-dir transformers>=4.34.0
45
-
46
- # Clone and install LAVIS properly
47
- RUN git clone https://github.com/salesforce/LAVIS.git \
48
- && cd LAVIS \
49
- && sed -i '/open3d/d' requirements.txt \
50
- && sed -i 's/transformers.*//' requirements.txt \
51
- && python3.9 -m pip install --no-cache-dir -e .
52
 
53
  # Copy requirements files and install dependencies
54
  # Note: We'll install without replacing transformers
55
- COPY requirements_lavis.txt requirements_emo.txt ./
56
- RUN pip install --no-cache-dir --no-deps -r requirements_lavis.txt -r requirements_emo.txt
57
 
58
  # Copy application files
59
  COPY app.py ./
 
13
 
14
  # Install basic dependencies
15
  RUN apt-get update && apt-get install -y --no-install-recommends \
16
+ python3.11 \
17
+ python3.11-dev \
18
  python3-pip \
19
  python3-setuptools \
20
  git \
 
26
  && rm -rf /var/lib/apt/lists/*
27
 
28
  # Create symbolic link for python
29
+ RUN ln -sf /usr/bin/python3.11 /usr/bin/python
30
 
31
  # Upgrade pip
32
+ RUN python3.11 -m pip install --no-cache-dir --upgrade pip
33
 
34
  # Create cache directories
35
  RUN mkdir -p /app/.cache/transformers \
 
37
  /app/.cache/torch \
38
  /app/.cache/datasets
39
 
40
+ RUN cd LAVIS \
41
+ && python3.11 -m pip install --no-cache-dir -e .
 
 
 
 
 
 
 
 
 
 
42
 
43
  # Copy requirements files and install dependencies
44
  # Note: We'll install without replacing transformers
45
+ COPY requirements.txt .
46
+ RUN pip install --no-cache-dir --no-deps -r requirements.txt
47
 
48
  # Copy application files
49
  COPY app.py ./
blip2_vicuna_instruct.py CHANGED
@@ -49,7 +49,7 @@ class Blip2VicunaInstruct(Blip2Base):
49
  ):
50
  super().__init__()
51
  transformers_version = version.parse(transformers.__version__)
52
- assert transformers_version >= version.parse("4.28"), "BLIP-2 Vicuna requires transformers>=4.28"
53
  from transformers import LlamaTokenizer
54
  from lavis.models.blip2_models.modeling_llama import LlamaForCausalLM
55
 
 
49
  ):
50
  super().__init__()
51
  transformers_version = version.parse(transformers.__version__)
52
+ # assert transformers_version >= version.parse("4.28"), "BLIP-2 Vicuna requires transformers>=4.28"
53
  from transformers import LlamaTokenizer
54
  from lavis.models.blip2_models.modeling_llama import LlamaForCausalLM
55
 
emo/train.json CHANGED
@@ -1,3 +1,3 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:b3043ba41320d9309513d9661e64c1f89d2c40370302596718b774f5917e772f
3
- size 10750390
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b3043ba41320d9309513d9661e64c1f89d2c40370302596718b774f5917e772f
3
+ size 10750390
requirements.txt ADDED
Binary file (9.04 kB). View file
 
start.sh CHANGED
@@ -1,77 +1,77 @@
1
- #!/bin/bash
2
- set -e
3
-
4
- echo "🚀 Starting EmoVIT application..."
5
-
6
- # Create and set permissions for cache directories
7
- echo "📁 Setting up cache directories..."
8
- mkdir -p /app/.cache/huggingface/hub
9
- mkdir -p /app/.cache/transformers
10
- mkdir -p /app/.cache/torch
11
- mkdir -p /app/.cache/datasets
12
-
13
- # Set permissions only for /app/.cache (avoid root filesystem)
14
- chmod -R 777 /app/.cache/ 2>/dev/null || true
15
-
16
- # Set environment variables
17
- export TRANSFORMERS_CACHE=${TRANSFORMERS_CACHE:-/app/.cache/transformers}
18
- export HF_HOME=${HF_HOME:-/app/.cache/huggingface}
19
- export TORCH_HOME=${TORCH_HOME:-/app/.cache/torch}
20
- export HF_DATASETS_CACHE=${HF_DATASETS_CACHE:-/app/.cache/datasets}
21
- export HUGGINGFACE_HUB_CACHE=${HUGGINGFACE_HUB_CACHE:-/app/.cache/huggingface/hub}
22
- export PYTHONPATH=/app:/app/lib:$PYTHONPATH
23
- export PYTHONUNBUFFERED=1
24
-
25
- echo "✅ Cache directories set up"
26
- echo "🔧 Environment variables:"
27
- echo " TRANSFORMERS_CACHE=$TRANSFORMERS_CACHE"
28
- echo " HF_HOME=$HF_HOME"
29
- echo " TORCH_HOME=$TORCH_HOME"
30
- echo " PYTHONPATH=$PYTHONPATH"
31
-
32
- # Test dependencies
33
- echo "🔍 Testing dependencies..."
34
- python3 -c "
35
- import sys
36
- import warnings
37
- warnings.filterwarnings('ignore')
38
-
39
- try:
40
- import numpy
41
- print(f'✅ NumPy {numpy.__version__}')
42
- except Exception as e:
43
- print(f'❌ NumPy: {e}')
44
- sys.exit(1)
45
-
46
- try:
47
- import cv2
48
- print(f'✅ OpenCV {cv2.__version__}')
49
- except Exception as e:
50
- print(f'❌ OpenCV: {e}')
51
- sys.exit(1)
52
-
53
- try:
54
- import torch
55
- print(f'✅ PyTorch {torch.__version__}')
56
- except Exception as e:
57
- print(f'❌ PyTorch: {e}')
58
- sys.exit(1)
59
-
60
- try:
61
- import transformers
62
- print(f'✅ Transformers {transformers.__version__}')
63
- except Exception as e:
64
- print(f'❌ Transformers: {e}')
65
- sys.exit(1)
66
-
67
- try:
68
- import lavis
69
- print(f'✅ LAVIS imported successfully')
70
- except Exception as e:
71
- print(f'❌ LAVIS: {e}')
72
- print('Warning: LAVIS not available, app will run in demo mode')
73
- "
74
-
75
- echo "🌐 Starting Flask application..."
76
- # Use unbuffered Python output for better logging in containers
77
  exec python3 -u app.py
 
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ echo "🚀 Starting EmoVIT application..."
5
+
6
+ # Create and set permissions for cache directories
7
+ echo "📁 Setting up cache directories..."
8
+ mkdir -p /app/.cache/huggingface/hub
9
+ mkdir -p /app/.cache/transformers
10
+ mkdir -p /app/.cache/torch
11
+ mkdir -p /app/.cache/datasets
12
+
13
+ # Set permissions only for /app/.cache (avoid root filesystem)
14
+ chmod -R 777 /app/.cache/ 2>/dev/null || true
15
+
16
+ # Set environment variables
17
+ export TRANSFORMERS_CACHE=${TRANSFORMERS_CACHE:-/app/.cache/transformers}
18
+ export HF_HOME=${HF_HOME:-/app/.cache/huggingface}
19
+ export TORCH_HOME=${TORCH_HOME:-/app/.cache/torch}
20
+ export HF_DATASETS_CACHE=${HF_DATASETS_CACHE:-/app/.cache/datasets}
21
+ export HUGGINGFACE_HUB_CACHE=${HUGGINGFACE_HUB_CACHE:-/app/.cache/huggingface/hub}
22
+ export PYTHONPATH=/app:/app/lib:$PYTHONPATH
23
+ export PYTHONUNBUFFERED=1
24
+
25
+ echo "✅ Cache directories set up"
26
+ echo "🔧 Environment variables:"
27
+ echo " TRANSFORMERS_CACHE=$TRANSFORMERS_CACHE"
28
+ echo " HF_HOME=$HF_HOME"
29
+ echo " TORCH_HOME=$TORCH_HOME"
30
+ echo " PYTHONPATH=$PYTHONPATH"
31
+
32
+ # Test dependencies
33
+ echo "🔍 Testing dependencies..."
34
+ python3 -c "
35
+ import sys
36
+ import warnings
37
+ warnings.filterwarnings('ignore')
38
+
39
+ try:
40
+ import numpy
41
+ print(f'✅ NumPy {numpy.__version__}')
42
+ except Exception as e:
43
+ print(f'❌ NumPy: {e}')
44
+ sys.exit(1)
45
+
46
+ try:
47
+ import cv2
48
+ print(f'✅ OpenCV {cv2.__version__}')
49
+ except Exception as e:
50
+ print(f'❌ OpenCV: {e}')
51
+ sys.exit(1)
52
+
53
+ try:
54
+ import torch
55
+ print(f'✅ PyTorch {torch.__version__}')
56
+ except Exception as e:
57
+ print(f'❌ PyTorch: {e}')
58
+ sys.exit(1)
59
+
60
+ try:
61
+ import transformers
62
+ print(f'✅ Transformers {transformers.__version__}')
63
+ except Exception as e:
64
+ print(f'❌ Transformers: {e}')
65
+ sys.exit(1)
66
+
67
+ try:
68
+ import lavis
69
+ print(f'✅ LAVIS imported successfully')
70
+ except Exception as e:
71
+ print(f'❌ LAVIS: {e}')
72
+ print('Warning: LAVIS not available, app will run in demo mode')
73
+ "
74
+
75
+ echo "🌐 Starting Flask application..."
76
+ # Use unbuffered Python output for better logging in containers
77
  exec python3 -u app.py