Spaces:
Running
on
Zero
Running
on
Zero
fix error not finding temp file
Browse files- app.py +10 -3
- history.md +18 -0
app.py
CHANGED
|
@@ -260,6 +260,13 @@ def predict_depth(input_image):
|
|
| 260 |
def create_3d_model(depth_csv, image_path, focallength_px, simplification_factor, smoothing_iterations, thin_threshold):
|
| 261 |
try:
|
| 262 |
depth = np.loadtxt(depth_csv, delimiter=',')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 263 |
view_model_path, download_model_path = generate_3d_model(
|
| 264 |
depth, image_path, focallength_px,
|
| 265 |
simplification_factor, smoothing_iterations, thin_threshold
|
|
@@ -317,13 +324,13 @@ with gr.Blocks() as iface:
|
|
| 317 |
model_status = gr.Textbox(label="3D Model Status")
|
| 318 |
|
| 319 |
# Hidden components to store intermediate results
|
| 320 |
-
hidden_image_path = gr.State()
|
| 321 |
hidden_focal_length = gr.State()
|
| 322 |
|
| 323 |
input_image.change(
|
| 324 |
-
|
| 325 |
inputs=[input_image],
|
| 326 |
-
outputs=[
|
| 327 |
)
|
| 328 |
|
| 329 |
generate_3d_button.click(
|
|
|
|
| 260 |
def create_3d_model(depth_csv, image_path, focallength_px, simplification_factor, smoothing_iterations, thin_threshold):
|
| 261 |
try:
|
| 262 |
depth = np.loadtxt(depth_csv, delimiter=',')
|
| 263 |
+
|
| 264 |
+
# Check if the image file exists
|
| 265 |
+
if not os.path.exists(image_path):
|
| 266 |
+
raise FileNotFoundError(f"Image file not found: {image_path}")
|
| 267 |
+
|
| 268 |
+
print(f"Loading image from: {image_path}")
|
| 269 |
+
|
| 270 |
view_model_path, download_model_path = generate_3d_model(
|
| 271 |
depth, image_path, focallength_px,
|
| 272 |
simplification_factor, smoothing_iterations, thin_threshold
|
|
|
|
| 324 |
model_status = gr.Textbox(label="3D Model Status")
|
| 325 |
|
| 326 |
# Hidden components to store intermediate results
|
| 327 |
+
hidden_image_path = gr.State("temp_input_image.png")
|
| 328 |
hidden_focal_length = gr.State()
|
| 329 |
|
| 330 |
input_image.change(
|
| 331 |
+
lambda x: (x, x), # This lambda function returns the image path twice
|
| 332 |
inputs=[input_image],
|
| 333 |
+
outputs=[hidden_image_path, input_image] # Update hidden_image_path and keep the visible input_image
|
| 334 |
)
|
| 335 |
|
| 336 |
generate_3d_button.click(
|
history.md
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Change Log
|
| 2 |
+
|
| 3 |
+
## 2024-10-05 21:20 PST
|
| 4 |
+
### 3D Model Generation File Access Error
|
| 5 |
+
- Problem: When attempting to generate the 3D model, an error occurred: "[Errno 2] No such file or directory: '/tmp/tmppgls861k.png'"
|
| 6 |
+
- This suggests that the temporary file created during the depth map generation is not accessible or has been deleted before the 3D model generation process.
|
| 7 |
+
- Next steps: Investigate the file handling in the `create_3d_model` function and ensure temporary files are properly managed and accessible.
|
| 8 |
+
|
| 9 |
+
## 2024-10-05 21:13 PST
|
| 10 |
+
### CUDA Initialization Error Fix
|
| 11 |
+
- Problem: CUDA was being initialized in the main process, causing an error in the Spaces Stateless GPU environment.
|
| 12 |
+
- Changes made:
|
| 13 |
+
1. Modified `np.savetxt` to ensure depth is converted to a CPU numpy array if it's a torch.Tensor.
|
| 14 |
+
2. Explicitly converted `focallength_px` to a float.
|
| 15 |
+
3. Added more print statements throughout the `predict_depth` function for improved logging and debugging.
|
| 16 |
+
4. Added a print statement just before returning from the `predict_depth` function to log all return values.
|
| 17 |
+
- These changes aim to prevent CUDA initialization in the main process and provide more detailed logging for troubleshooting.
|
| 18 |
+
|