Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1d0e1812c8 | |||
| 40490ffe43 | |||
| 455b6d40de | |||
| 62dcac103f | |||
| 63a83ddd5e | |||
| f8d3d6a0ad | |||
| e2eb27a5ba | |||
| 9fbeddc9f4 | |||
| 289bbe3f0d | |||
| bec6a93b65 | |||
| e2a41fc187 | |||
| c7a04f3857 | |||
| 9c5398071c | |||
| 1f6400ba5d | |||
| afe0c149dd |
+6
-4
@@ -1,14 +1,16 @@
|
|||||||
FROM golang:alpine AS backend-builder
|
FROM golang:latest AS backend-builder
|
||||||
|
RUN apt update
|
||||||
|
RUN apt install -y build-essential
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
COPY . .
|
COPY . .
|
||||||
|
ENV CGO_ENABLED=1
|
||||||
RUN go build -ldflags="-s -w" -o bin/server
|
RUN go build -ldflags="-s -w" -o bin/server
|
||||||
|
|
||||||
RUN apk add --no-cache upx
|
RUN apt install -y upx-ucl
|
||||||
|
|
||||||
RUN upx --best --lzma bin/server
|
RUN upx --best --lzma bin/server
|
||||||
|
|
||||||
FROM alpine:latest
|
FROM golang:latest
|
||||||
COPY --from=backend-builder /build/bin/server /app/server
|
COPY --from=backend-builder /build/bin/server /app/server
|
||||||
COPY static /app/static
|
COPY static /app/static
|
||||||
COPY static/*.so /app/
|
COPY static/*.so /app/
|
||||||
|
|||||||
@@ -5,9 +5,12 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
_ "image/jpeg"
|
_ "image/jpeg"
|
||||||
_ "image/png"
|
_ "image/png"
|
||||||
|
"likedream-goframe/internal/framework/logger"
|
||||||
"os"
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
|
||||||
ort "github.com/yalue/onnxruntime_go"
|
ort "github.com/yalue/onnxruntime_go"
|
||||||
|
"go.uber.org/zap"
|
||||||
)
|
)
|
||||||
|
|
||||||
type ImageClassifier struct {
|
type ImageClassifier struct {
|
||||||
@@ -21,6 +24,9 @@ type ImageClassifier struct {
|
|||||||
// NewImageClassifier 创建新的图片分类器
|
// NewImageClassifier 创建新的图片分类器
|
||||||
func NewImageClassifier(modelPath, classesPath string) (*ImageClassifier, error) {
|
func NewImageClassifier(modelPath, classesPath string) (*ImageClassifier, error) {
|
||||||
// 初始化ONNX Runtime
|
// 初始化ONNX Runtime
|
||||||
|
dir := filepath.Dir(os.Args[0])
|
||||||
|
ort.SetSharedLibraryPath(dir)
|
||||||
|
logger.Logger.Info("初始化onnx:", zap.String("文件夹", dir))
|
||||||
err := ort.InitializeEnvironment()
|
err := ort.InitializeEnvironment()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("初始化ONNX Runtime失败: %v", err)
|
return nil, fmt.Errorf("初始化ONNX Runtime失败: %v", err)
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ func Pass(err *error) {
|
|||||||
if r := recover(); r != nil {
|
if r := recover(); r != nil {
|
||||||
e, ok := errorx.ErrorFromPanic(r)
|
e, ok := errorx.ErrorFromPanic(r)
|
||||||
if ok {
|
if ok {
|
||||||
*err = e
|
*err = oops.Wrap(e)
|
||||||
} else {
|
} else {
|
||||||
panic(r)
|
panic(r)
|
||||||
}
|
}
|
||||||
@@ -61,7 +61,7 @@ func HandleError(f func(error)) {
|
|||||||
if r := recover(); r != nil {
|
if r := recover(); r != nil {
|
||||||
e, ok := errorx.ErrorFromPanic(r)
|
e, ok := errorx.ErrorFromPanic(r)
|
||||||
if ok {
|
if ok {
|
||||||
f(e)
|
f(oops.Wrap(e))
|
||||||
} else {
|
} else {
|
||||||
panic(r)
|
panic(r)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user