From 595c32b85642ac683303de87d2a41aaed8347581 Mon Sep 17 00:00:00 2001 From: Michael Mayer Date: Wed, 18 Jul 2018 15:17:56 +0200 Subject: [PATCH] Implemented migrate-db command --- Gopkg.lock | 75 ++++++++++++- album.go | 11 ++ cmd/photoprism/photoprism.go | 29 ++++- cmd/tensorflowapi/utilities.go | 17 --- config.example.yml | 4 +- config.go | 53 +++++++++ config_test.go | 17 +++ docker-compose.yml | 1 + export.go | 6 +- file.go | 14 +++ importer.go | 5 +- mediafile.go | 2 +- photo.go | 22 ++++ tag.go | 10 ++ tensorflow/cat.jpg | Bin 0 -> 133130 bytes .../image_tensor.go => tensorflow/image.go | 8 +- .../recognize.go | 101 +++++++----------- tensorflow/recognize_test.go | 25 +++++ thumbnails.go | 4 +- thumbnails_test.go | 2 +- 20 files changed, 308 insertions(+), 98 deletions(-) create mode 100644 album.go delete mode 100644 cmd/tensorflowapi/utilities.go create mode 100644 file.go create mode 100644 photo.go create mode 100644 tag.go create mode 100644 tensorflow/cat.jpg rename cmd/tensorflowapi/image_tensor.go => tensorflow/image.go (90%) rename cmd/tensorflowapi/tensorflowapi.go => tensorflow/recognize.go (66%) create mode 100644 tensorflow/recognize_test.go diff --git a/Gopkg.lock b/Gopkg.lock index 941230f72..4fb6ce406 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -1,6 +1,12 @@ # This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. +[[projects]] + name = "cloud.google.com/go" + packages = ["civil"] + revision = "777200caa7fb8936aed0f12b1fd79af64cc83ec9" + version = "v0.24.0" + [[projects]] branch = "master" name = "github.com/araddon/dateparse" @@ -25,6 +31,15 @@ revision = "346938d642f2ec3594ed81d874461961cd0faa76" version = "v1.1.0" +[[projects]] + branch = "master" + name = "github.com/denisenkom/go-mssqldb" + packages = [ + ".", + "internal/cp" + ] + revision = "94c9c97e8c9f9844d15c846854a7a6031ae2132c" + [[projects]] name = "github.com/disintegration/imaging" packages = ["."] @@ -38,10 +53,28 @@ version = "v1.0.1" [[projects]] - name = "github.com/julienschmidt/httprouter" + name = "github.com/go-sql-driver/mysql" packages = ["."] - revision = "8c199fb6259ffc1af525cc3ad52ee60ba8359669" - version = "v1.1" + revision = "d523deb1b23d913de5bdada721a6071e71283618" + version = "v1.4.0" + +[[projects]] + name = "github.com/jinzhu/gorm" + packages = [ + ".", + "dialects/mssql", + "dialects/mysql", + "dialects/postgres", + "dialects/sqlite" + ] + revision = "6ed508ec6a4ecb3531899a69cbc746ccf65a4166" + version = "v1.9.1" + +[[projects]] + branch = "master" + name = "github.com/jinzhu/inflection" + packages = ["."] + revision = "04140366298a54a039076d798123ffa108fff46c" [[projects]] branch = "master" @@ -49,6 +82,28 @@ packages = ["yaml"] revision = "08cad365cd28a7fba23bb1e57aa43c5e18ad8bb8" +[[projects]] + branch = "master" + name = "github.com/lib/pq" + packages = [ + ".", + "hstore", + "oid" + ] + revision = "90697d60dd844d5ef6ff15135d0203f65d2f53b8" + +[[projects]] + name = "github.com/mattn/go-sqlite3" + packages = ["."] + revision = "25ecb14adfc7543176f7d85291ec7dba82c6f7e4" + version = "v1.9.0" + +[[projects]] + branch = "master" + name = "github.com/photoprism/photoprism" + packages = ["."] + revision = "b2659ba5ce48b223490b8f51db065d93ae8f0cf5" + [[projects]] name = "github.com/pkg/errors" packages = ["."] @@ -98,6 +153,12 @@ revision = "cfb38830724cc34fedffe9a2a29fb54fa9169cd1" version = "v1.20.0" +[[projects]] + branch = "master" + name = "golang.org/x/crypto" + packages = ["md4"] + revision = "a49355c7e3f8fe157a85be2f77e6e269a0f89602" + [[projects]] branch = "master" name = "golang.org/x/image" @@ -112,9 +173,15 @@ ] revision = "12117c17ca67ffa1ce22e9409f3b0b0a93ac08c7" +[[projects]] + name = "google.golang.org/appengine" + packages = ["cloudsql"] + revision = "b1f26356af11148e710935ed1ac8a7f5702c7612" + version = "v1.1.0" + [solve-meta] analyzer-name = "dep" analyzer-version = 1 - inputs-digest = "1ffc35574da6350baeabae12e2aed7a151f4db332e9e73656bd10b8db55de7d2" + inputs-digest = "8aa59b793f2c56ca48723acc6a2b517cbd2dd323af673b71c1bcc74d491951bf" solver-name = "gps-cdcl" solver-version = 1 diff --git a/album.go b/album.go new file mode 100644 index 000000000..f790b28df --- /dev/null +++ b/album.go @@ -0,0 +1,11 @@ +package photoprism + +import ( + "github.com/jinzhu/gorm" +) + +type Album struct { + gorm.Model + Name string + Photos []Photo `gorm:"many2many:album_photos;"` +} diff --git a/cmd/photoprism/photoprism.go b/cmd/photoprism/photoprism.go index 71c668363..c33b052f2 100644 --- a/cmd/photoprism/photoprism.go +++ b/cmd/photoprism/photoprism.go @@ -36,6 +36,23 @@ func main() { return nil }, }, + { + Name: "migrate-db", + Usage: "Automatically migrates / initializes database", + Action: func(context *cli.Context) error { + conf.SetValuesFromFile(photoprism.GetExpandedFilename(context.GlobalString("config-file"))) + + conf.SetValuesFromCliContext(context) + + fmt.Println("Migrating database...") + + conf.MigrateDb() + + fmt.Println("Done.") + + return nil + }, + }, { Name: "import", Usage: "Imports photos", @@ -48,7 +65,7 @@ func main() { fmt.Printf("Importing photos from %s...\n", conf.ImportPath) - importer := photoprism.NewImporter(conf.OriginalsPath) + importer := photoprism.NewImporter(conf.OriginalsPath, conf.GetDb()) importer.ImportPhotosFromDirectory(conf.ImportPath) @@ -226,4 +243,14 @@ var globalCliFlags = []cli.Flag{ Usage: "thumbnails path", Value: "~/Photos/Thumbnails", }, + cli.StringFlag{ + Name: "database-driver", + Usage: "database driver (mysql, mssql, postgres or sqlite)", + Value: "mysql", + }, + cli.StringFlag{ + Name: "database-dsn", + Usage: "database data source name (DSN)", + Value: "photoprism:photoprism@tcp(database:3306)/photoprism", + }, } diff --git a/cmd/tensorflowapi/utilities.go b/cmd/tensorflowapi/utilities.go deleted file mode 100644 index e752ddfb5..000000000 --- a/cmd/tensorflowapi/utilities.go +++ /dev/null @@ -1,17 +0,0 @@ -package main - -import ( - "encoding/json" - "net/http" -) - -func responseError(w http.ResponseWriter, message string, code int) { - w.Header().Set("Content-Type", "application/json") - w.WriteHeader(code) - json.NewEncoder(w).Encode(map[string]string{"error": message}) -} - -func responseJSON(w http.ResponseWriter, data interface{}) { - w.Header().Set("Content-Type", "application/json") - json.NewEncoder(w).Encode(data) -} diff --git a/config.example.yml b/config.example.yml index c927c45c8..49ba83fe9 100644 --- a/config.example.yml +++ b/config.example.yml @@ -2,4 +2,6 @@ darktable-cli: /Applications/darktable.app/Contents/MacOS/darktable-cli originals-path: photos/originals thumbnails-path: photos/thumbnails import-path: photos/import -export-path: photos/export \ No newline at end of file +export-path: photos/export +database-driver: mysql +database-dsn: photoprism:photoprism@tcp(database:3306)/photoprism \ No newline at end of file diff --git a/config.go b/config.go index 1e4c4bd67..1014697e7 100644 --- a/config.go +++ b/config.go @@ -1,8 +1,14 @@ package photoprism import ( + "github.com/jinzhu/gorm" + _ "github.com/jinzhu/gorm/dialects/mssql" + _ "github.com/jinzhu/gorm/dialects/mysql" + _ "github.com/jinzhu/gorm/dialects/postgres" + _ "github.com/jinzhu/gorm/dialects/sqlite" "github.com/kylelemons/go-gypsy/yaml" "github.com/urfave/cli" + "log" "os" "path" ) @@ -14,6 +20,9 @@ type Config struct { ThumbnailsPath string ImportPath string ExportPath string + DatabaseDriver string + DatabaseDsn string + db *gorm.DB } func NewConfig() *Config { @@ -49,6 +58,14 @@ func (c *Config) SetValuesFromFile(fileName string) error { c.DarktableCli = GetExpandedFilename(DarktableCli) } + if DatabaseDriver, err := yamlConfig.Get("database-driver"); err == nil { + c.DatabaseDriver = DatabaseDriver + } + + if DatabaseDsn, err := yamlConfig.Get("database-dsn"); err == nil { + c.DatabaseDsn = DatabaseDsn + } + return nil } @@ -73,6 +90,14 @@ func (c *Config) SetValuesFromCliContext(context *cli.Context) error { c.DarktableCli = GetExpandedFilename(context.String("darktable-cli")) } + if context.IsSet("database-driver") { + c.DatabaseDriver = context.String("database-driver") + } + + if context.IsSet("database-dsn") { + c.DatabaseDsn = context.String("database-dsn") + } + return nil } @@ -82,3 +107,31 @@ func (c *Config) CreateDirectories() { os.MkdirAll(path.Dir(c.ImportPath), os.ModePerm) os.MkdirAll(path.Dir(c.ExportPath), os.ModePerm) } + +func (c *Config) ConnectToDatabase() error { + db, err := gorm.Open(c.DatabaseDriver, c.DatabaseDsn) + + if err != nil || db == nil { + log.Fatal(err) + } + + c.db = db + + c.MigrateDb() + + return err +} + +func (c *Config) GetDb() *gorm.DB { + if c.db == nil { + c.ConnectToDatabase() + } + + return c.db +} + +func (c *Config) MigrateDb() { + db := c.GetDb() + + db.AutoMigrate(&File{}, &Photo{}, &Tag{}, &Album{}) +} diff --git a/config_test.go b/config_test.go index 8c4cef942..a2cbab0bd 100644 --- a/config_test.go +++ b/config_test.go @@ -2,6 +2,7 @@ package photoprism import ( "fmt" + "github.com/jinzhu/gorm" "github.com/stretchr/testify/assert" "os" "testing" @@ -17,6 +18,8 @@ var originalsPath = GetExpandedFilename(testDataPath + "/originals") var thumbnailsPath = GetExpandedFilename(testDataPath + "/thumbnails") var importPath = GetExpandedFilename(testDataPath + "/import") var exportPath = GetExpandedFilename(testDataPath + "/export") +var databaseDriver = "mysql" +var databaseDsn = "photoprism:photoprism@tcp(database:3306)/photoprism" func (c *Config) RemoveTestData(t *testing.T) { os.RemoveAll(c.ImportPath) @@ -67,6 +70,8 @@ func NewTestConfig() *Config { ThumbnailsPath: thumbnailsPath, ImportPath: importPath, ExportPath: exportPath, + DatabaseDriver: databaseDriver, + DatabaseDsn: databaseDsn, } } @@ -85,4 +90,16 @@ func TestConfig_SetValuesFromFile(t *testing.T) { assert.Equal(t, GetExpandedFilename("photos/thumbnails"), c.ThumbnailsPath) assert.Equal(t, GetExpandedFilename("photos/import"), c.ImportPath) assert.Equal(t, GetExpandedFilename("photos/export"), c.ExportPath) + assert.Equal(t, databaseDriver, c.DatabaseDriver) + assert.Equal(t, databaseDsn, c.DatabaseDsn) +} + +func TestConfig_ConnectToDatabase(t *testing.T) { + c := NewTestConfig() + + c.ConnectToDatabase() + + db := c.GetDb() + + assert.IsType(t, &gorm.DB{}, db) } diff --git a/docker-compose.yml b/docker-compose.yml index 9694ca710..21a690827 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,6 +8,7 @@ services: - 8080:8080 volumes: - .:/go/src/photoprism + database: image: mysql:latest command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=1024 diff --git a/export.go b/export.go index 9da60429c..fbc7b8156 100644 --- a/export.go +++ b/export.go @@ -1,9 +1,9 @@ package photoprism import ( - "os" - "log" "fmt" + "log" + "os" "path/filepath" "strings" "time" @@ -46,7 +46,7 @@ func ExportPhotosFromOriginals(originals []*MediaFile, thumbnailsPath string, ex thumbnail, err := mediaFile.GetThumbnail(thumbnailsPath, size) - if err != nil { + if err != nil { log.Print(err.Error()) } diff --git a/file.go b/file.go new file mode 100644 index 000000000..06c6d7ae3 --- /dev/null +++ b/file.go @@ -0,0 +1,14 @@ +package photoprism + +import ( + "github.com/jinzhu/gorm" +) + +type File struct { + gorm.Model + PhotoID uint + Filename string + Hash string + FileType string + MimeType string +} diff --git a/importer.go b/importer.go index 734c9855d..f19ce9ab1 100644 --- a/importer.go +++ b/importer.go @@ -2,6 +2,7 @@ package photoprism import ( "fmt" + "github.com/jinzhu/gorm" "github.com/pkg/errors" "log" "os" @@ -13,14 +14,16 @@ import ( type Importer struct { originalsPath string + db *gorm.DB removeDotFiles bool removeExistingFiles bool removeEmptyDirectories bool } -func NewImporter(originalsPath string) *Importer { +func NewImporter(originalsPath string, db *gorm.DB) *Importer { instance := &Importer{ originalsPath: originalsPath, + db: db, removeDotFiles: true, removeExistingFiles: true, removeEmptyDirectories: true, diff --git a/mediafile.go b/mediafile.go index d87dfe05d..53575247a 100644 --- a/mediafile.go +++ b/mediafile.go @@ -5,13 +5,13 @@ import ( "github.com/brett-lempereur/ish" "github.com/djherbis/times" "github.com/steakknife/hamming" + "io" "log" "net/http" "os" "path/filepath" "strings" "time" - "io" ) const ( diff --git a/photo.go b/photo.go new file mode 100644 index 000000000..6b936ad54 --- /dev/null +++ b/photo.go @@ -0,0 +1,22 @@ +package photoprism + +import ( + "github.com/jinzhu/gorm" +) + +type Photo struct { + gorm.Model + CanonicalName string + PerceptualHash string + Tags []Tag `gorm:"many2many:photo_tags;"` + Files []File + Albums []Album `gorm:"many2many:album_photos;"` + Author string + CameraModel string + LocationName string + Lat float64 + Long float64 + Liked bool + Private bool + Deleted bool +} diff --git a/tag.go b/tag.go new file mode 100644 index 000000000..c8022c93f --- /dev/null +++ b/tag.go @@ -0,0 +1,10 @@ +package photoprism + +import ( + "github.com/jinzhu/gorm" +) + +type Tag struct { + gorm.Model + Label string +} diff --git a/tensorflow/cat.jpg b/tensorflow/cat.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9e29f13bdc71984f85a9084e27c11d6fa788b6af GIT binary patch literal 133130 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 E0Q4=mzyJUM literal 0 HcmV?d00001 diff --git a/cmd/tensorflowapi/image_tensor.go b/tensorflow/image.go similarity index 90% rename from cmd/tensorflowapi/image_tensor.go rename to tensorflow/image.go index d7ac8069a..1c9a7e681 100644 --- a/cmd/tensorflowapi/image_tensor.go +++ b/tensorflow/image.go @@ -1,14 +1,12 @@ -package main +package tensorflow import ( - "bytes" - tf "github.com/tensorflow/tensorflow/tensorflow/go" "github.com/tensorflow/tensorflow/tensorflow/go/op" ) -func makeTensorFromImage(imageBuffer *bytes.Buffer, imageFormat string) (*tf.Tensor, error) { - tensor, err := tf.NewTensor(imageBuffer.String()) +func makeTensorFromImage(image string, imageFormat string) (*tf.Tensor, error) { + tensor, err := tf.NewTensor(image) if err != nil { return nil, err } diff --git a/cmd/tensorflowapi/tensorflowapi.go b/tensorflow/recognize.go similarity index 66% rename from cmd/tensorflowapi/tensorflowapi.go rename to tensorflow/recognize.go index 4248e87c3..2ed56e46b 100644 --- a/cmd/tensorflowapi/tensorflowapi.go +++ b/tensorflow/recognize.go @@ -1,18 +1,13 @@ -package main +package tensorflow import ( "bufio" - "bytes" - "io" "io/ioutil" - "log" - "net/http" "os" "sort" - "strings" - - "github.com/julienschmidt/httprouter" tf "github.com/tensorflow/tensorflow/tensorflow/go" + "log" + "errors" ) type ClassifyResult struct { @@ -30,15 +25,41 @@ var ( labels []string ) -func main() { +func RecognizeImage(image string) (result []LabelResult, err error) { if err := loadModel(); err != nil { - log.Fatal(err) - return + return nil, err } - r := httprouter.New() - r.POST("/recognize", recognizeHandler) - log.Fatal(http.ListenAndServe(":8080", r)) + // Make tensor + tensor, err := makeTensorFromImage(image, "jpeg") + + if err != nil { + return nil, errors.New("invalid image") + } + + // Run inference + session, err := tf.NewSession(graph, nil) + if err != nil { + log.Fatal(err) + } + + defer session.Close() + + output, err := session.Run( + map[tf.Output]*tf.Tensor{ + graph.Operation("input").Output(0): tensor, + }, + []tf.Output{ + graph.Operation("output").Output(0), + }, + nil) + + if err != nil { + return nil, errors.New("could not run inference") + } + + // Return best labels + return findBestLabels(output[0].Value().([][]float32)[0]), nil } func loadModel() error { @@ -51,6 +72,7 @@ func loadModel() error { if err := graph.Import(model, ""); err != nil { return err } + // Load labels labelsFile, err := os.Open("/model/imagenet_comp_graph_label_strings.txt") if err != nil { @@ -58,6 +80,7 @@ func loadModel() error { } defer labelsFile.Close() scanner := bufio.NewScanner(labelsFile) + // Labels are separated by newlines for scanner.Scan() { labels = append(labels, scanner.Text()) @@ -68,54 +91,6 @@ func loadModel() error { return nil } -func recognizeHandler(w http.ResponseWriter, r *http.Request, _ httprouter.Params) { - // Read image - imageFile, header, err := r.FormFile("image") - // Will contain filename and extension - imageName := strings.Split(header.Filename, ".") - if err != nil { - responseError(w, "Could not read image", http.StatusBadRequest) - return - } - defer imageFile.Close() - var imageBuffer bytes.Buffer - // Copy image data to a buffer - io.Copy(&imageBuffer, imageFile) - - // ... - // Make tensor - tensor, err := makeTensorFromImage(&imageBuffer, imageName[:1][0]) - if err != nil { - responseError(w, "Invalid image", http.StatusBadRequest) - return - } - - // Run inference - session, err := tf.NewSession(graph, nil) - if err != nil { - log.Fatal(err) - } - defer session.Close() - output, err := session.Run( - map[tf.Output]*tf.Tensor{ - graph.Operation("input").Output(0): tensor, - }, - []tf.Output{ - graph.Operation("output").Output(0), - }, - nil) - if err != nil { - responseError(w, "Could not run inference", http.StatusInternalServerError) - return - } - - // Return best labels - responseJSON(w, ClassifyResult{ - Filename: header.Filename, - Labels: findBestLabels(output[0].Value().([][]float32)[0]), - }) -} - type ByProbability []LabelResult func (a ByProbability) Len() int { return len(a) } @@ -131,8 +106,10 @@ func findBestLabels(probabilities []float32) []LabelResult { } resultLabels = append(resultLabels, LabelResult{Label: labels[i], Probability: p}) } + // Sort by probability sort.Sort(ByProbability(resultLabels)) + // Return top 5 labels return resultLabels[:5] } diff --git a/tensorflow/recognize_test.go b/tensorflow/recognize_test.go new file mode 100644 index 000000000..ce03e8fd1 --- /dev/null +++ b/tensorflow/recognize_test.go @@ -0,0 +1,25 @@ +package tensorflow + +import ( + "testing" + "io/ioutil" + "github.com/stretchr/testify/assert" +) + +func TestRecognizeImage(t *testing.T) { + if imageBuffer, err := ioutil.ReadFile("cat.jpg"); err != nil { + t.Error(err) + } else { + result, err := RecognizeImage(string(imageBuffer)) + + assert.NotNil(t, result) + assert.Nil(t, err) + assert.IsType(t, []LabelResult{}, result) + assert.Equal(t, 5, len(result)) + + assert.Equal(t, "tabby", result[0].Label) + assert.Equal(t, "tiger cat", result[1].Label) + + assert.Equal(t, float32(0.23251747), result[1].Probability) + } +} \ No newline at end of file diff --git a/thumbnails.go b/thumbnails.go index 60ec19073..ae406f653 100644 --- a/thumbnails.go +++ b/thumbnails.go @@ -1,10 +1,10 @@ package photoprism import ( + "fmt" "github.com/disintegration/imaging" "log" "os" - "fmt" "path/filepath" "strings" ) @@ -30,7 +30,7 @@ func CreateThumbnailsFromOriginals(originalsPath string, thumbnailsPath string, } else { log.Printf("Creating %dpx thumbnail for %s", size, filename) - if _, err := mediaFile.GetThumbnail(thumbnailsPath, size); err != nil { + if _, err := mediaFile.GetThumbnail(thumbnailsPath, size); err != nil { log.Print(err.Error()) } } diff --git a/thumbnails_test.go b/thumbnails_test.go index 8c3efb30b..a292db6bf 100644 --- a/thumbnails_test.go +++ b/thumbnails_test.go @@ -51,4 +51,4 @@ func TestCreateThumbnailsFromOriginals(t *testing.T) { CreateThumbnailsFromOriginals(conf.OriginalsPath, conf.ThumbnailsPath, 600, false) CreateThumbnailsFromOriginals(conf.OriginalsPath, conf.ThumbnailsPath, 300, true) -} \ No newline at end of file +}