Ignore the FLATC_EXECUTABLE env var when empty (#3612)
Summary:
We've seen some situations fail because flatc_path is an empty string. This seems like a likely culprit, but doesn't hurt either way.
Pull Request resolved: https://github.com/pytorch/executorch/pull/3612
Test Plan:
Ran the following script with `(. /tmp/run.sh)`, which successfully created `/tmp/et-test/executorch/add.pte`.
`/tmp/run.sh`:
```
set -euxo pipefail
conda remove -yn et-test --all
conda create -yn et-test python=3.10
conda activate et-test
mkdir -p /tmp/et-test
cd /tmp/et-test
# Get this PR
git clone -b flatc-empty-path https://github.com/dbort/executorch-1
cd executorch
git submodule sync
git submodule update --init
./install_requirements.sh
cat > /tmp/export_add.py << HERE
import torch
from torch.export import export
from executorch.exir import to_edge
# Start with a PyTorch model that adds two input tensors (matrices)
class Add(torch.nn.Module):
def __init__(self):
super(Add, self).__init__()
def forward(self, x: torch.Tensor, y: torch.Tensor):
return x + y
# 1. torch.export: Defines the program with the ATen operator set.
aten_dialect = export(Add(), (torch.ones(1), torch.ones(1)))
# 2. to_edge: Make optimizations for Edge devices
edge_program = to_edge(aten_dialect)
# 3. to_executorch: Convert the graph to an ExecuTorch program
executorch_program = edge_program.to_executorch()
# 4. Save the compiled .pte program
with open("add.pte", "wb") as file:
file.write(executorch_program.buffer)
HERE
python /tmp/export_add.py
echo "Created" *.pte
```
Reviewed By: lucylq
Differential Revision: D57390281
Pulled By: dbort
fbshipit-source-id: 91c507764ef461f1988d7f3c45579120d9f6ed96 D
Dave Bort committed
2b1ed26164ea6295e318e502d8f19dad69b59430
Parent: d345278
Committed by Facebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
on 5/15/2024, 9:25:08 PM