Создание отчетов о сервисном развертывании

да, у fashion mnist нет next_batch или чего-то еще, что вы можете использовать генератор для пакетной итерации:

fashion_mnist = keras.datasets.fashion_mnist

(train_images, train_labels), (test_images, test_labels) =  fashion_mnist.load_data()

batchs=(train_images[i*100:(i+1)*100],train_labels[i*100:(i+1)*100] for i in range(int(len(train_labels)/100)))

batch_xs, batch_ys=batchs.__next__()

, но вам не нужны данные разделения для пакетов в кератах. Метод fit () имеет параметр batch_size

33
задан Bart 17 September 2008 в 23:41
поделиться

6 ответов

Мы используем rs.exe, после того как мы разработали сценарий, мы имеем не нужный для касания его больше, он просто работает.

Вот источник (я немного изменил его вручную для удаления уязвимых данных без шанса протестировать его, надеяться, что я ничего не тормозил), он развертывает отчеты и связанные изображения от подкаталогов для различных языков. Также источник данных создается.

'=====================================================================
'  File:      PublishReports.rss
'
'  Summary: Script that can be used with RS.exe to 
'           publish the reports.
'
'  Rss file spans from beginnig of this comment to end of module
' (except of "End Module").
'=====================================================================

Dim langPaths As String() = {"en", "cs", "pl", "de"}
Dim filePath As String = Environment.CurrentDirectory

Public Sub Main()

    rs.Credentials = System.Net.CredentialCache.DefaultCredentials

    'Create parent folder
    Try
        rs.CreateFolder(parentFolder, "/", Nothing)
        Console.WriteLine("Parent folder created: {0}", parentFolder)
    Catch e As Exception
        Console.WriteLine(e.Message)
    End Try

    PublishLanguagesFromFolder(filePath)

End Sub

Public Sub PublishLanguagesFromFolder(ByVal folder As String)
    Dim Lang As Integer
    Dim langPath As String

    For Lang = langPaths.GetLowerBound(0) To langPaths.GetUpperBound(0)
        langPath = langPaths(Lang)

        'Create the lang folder
        Try
            rs.CreateFolder(langPath, "/" + parentFolder, Nothing)
            Console.WriteLine("Parent lang folder created: {0}", parentFolder + "/" + langPath)
        Catch e As Exception
            Console.WriteLine(e.Message)
        End Try

        'Create the shared data source
        CreateDataSource("/" + parentFolder + "/" + langPath)

        'Publish reports and images
        PublishFolderContents(folder + "\" + langPath, "/" + parentFolder + "/" + langPath)
    Next 'Lang
End Sub

Public Sub CreateDataSource(ByVal targetFolder As String)
    Dim name As String = "data source"

    'Data source definition.
    Dim definition As New DataSourceDefinition
    definition.CredentialRetrieval = CredentialRetrievalEnum.Store
    definition.ConnectString = "data source=" + dbServer + ";initial catalog=" + db
    definition.Enabled = True
    definition.EnabledSpecified = True
    definition.Extension = "SQL"
    definition.ImpersonateUser = False
    definition.ImpersonateUserSpecified = True
    'Use the default prompt string.
    definition.Prompt = Nothing
    definition.WindowsCredentials = False
    'Login information
    definition.UserName = "user"
    definition.Password = "password"

    Try
    'name, folder, overwrite, definition, properties 
        rs.CreateDataSource(name, targetFolder, True, definition, Nothing)
    Catch e As Exception
        Console.WriteLine(e.Message)
    End Try

End Sub

Public Sub PublishFolderContents(ByVal sourceFolder As String, ByVal targetFolder As String)
    Dim di As New DirectoryInfo(sourceFolder)
    Dim fis As FileInfo() = di.GetFiles()
    Dim fi As FileInfo

    Dim fileName As String

    For Each fi In fis
        fileName = fi.Name
        Select Case fileName.Substring(fileName.Length - 4).ToUpper
            Case ".RDL"
                PublishReport(sourceFolder, fileName, targetFolder)
            Case ".JPG", ".JPEG"
                PublishResource(sourceFolder, fileName, "image/jpeg", targetFolder)
            Case ".GIF", ".PNG", ".BMP"
                PublishResource(sourceFolder, fileName, "image/" + fileName.Substring(fileName.Length - 3).ToLower, targetFolder)
        End Select
    Next fi
End Sub

Public Sub PublishReport(ByVal sourceFolder As String, ByVal reportName As String, ByVal targetFolder As String)
    Dim definition As [Byte]() = Nothing
    Dim warnings As Warning() = Nothing

    Try
        Dim stream As FileStream = File.OpenRead(sourceFolder + "\" + reportName)
        definition = New [Byte](stream.Length) {}
        stream.Read(definition, 0, CInt(stream.Length))
        stream.Close()
    Catch e As IOException
        Console.WriteLine(e.Message)
    End Try

    Try
   'name, folder, overwrite, definition, properties 
        warnings = rs.CreateReport(reportName.Substring(0, reportName.Length - 4), targetFolder, True, definition, Nothing)

        If Not (warnings Is Nothing) Then
            Dim warning As Warning
            For Each warning In warnings
                Console.WriteLine(warning.Message)
            Next warning
        Else
            Console.WriteLine("Report: {0} published successfully with no warnings", targetFolder + "/" + reportName)
        End If
    Catch e As Exception
        Console.WriteLine(e.Message)
    End Try
End Sub

Public Sub PublishResource(ByVal sourceFolder As String, ByVal resourceName As String, ByVal resourceMIME As String, ByVal targetFolder As String)
    Dim definition As [Byte]() = Nothing
    Dim warnings As Warning() = Nothing

    Try
        Dim stream As FileStream = File.OpenRead(sourceFolder + "\" + resourceName)
        definition = New [Byte](stream.Length) {}
        stream.Read(definition, 0, CInt(stream.Length))
        stream.Close()
    Catch e As IOException
        Console.WriteLine(e.Message)
    End Try

    Try
    'name, folder, overwrite, definition, MIME, properties 
        rs.CreateResource(resourceName, targetFolder, True, definition, resourceMIME, Nothing)
        Console.WriteLine("Resource: {0} with MIME {1} created successfully", targetFolder + "/" + resourceName, resourceMIME)
    Catch e As Exception
        Console.WriteLine(e.Message)
    End Try
End Sub

Вот пакет для вызова rs.exe:

SET ReportServer=%1
SET DBServer=%2
SET DBName=%3
SET ReportFolder=%4

rs -i PublishReports.rss -s %ReportServer% -v dbServer="%DBServer%" -v db="%DBName%" -v parentFolder="%ReportFolder%" >PublishReports.log 2>&1

pause
32
ответ дан 27 November 2019 в 18:34
поделиться

Хорошо не действительно изящный. Мы создали наш собственный инструмент, который использует reportingservices2005 веб-сервис. Мы нашли, что это было самым надежным способом получить то, что мы хотим.

Это не действительно настолько трудно и позволяет Вам развернуть его, чтобы сделать другие вещи как создание источников данных и папок как требуется.

1
ответ дан 27 November 2019 в 18:34
поделиться

Я знаю, что Вы говорите, что не выступаете за Studio Развития бизнеса, чтобы сделать это, но я нашел, что встроенные инструменты очень надежны и просты в использовании.

0
ответ дан 27 November 2019 в 18:34
поделиться

Вы изучили какие-либо Непрерывные решения для Интеграции, такие как CruiseControl.NET? Если Вы можете развернуть Отчеты с помощью rs.exe затем, можно установить автоматизированный процесс в CruiseControl, чтобы создать и развернуть Отчеты о таймере или каждый раз, когда отчет изменяется.

0
ответ дан 27 November 2019 в 18:34
поделиться

Я настоятельно рекомендую RSScripter . Как отмечено в обзоре:

Сценарий служб Reporting Services - это .NET приложение Windows Forms, которое позволяет создавать сценарии и передавать все отчеты Microsoft SQL Server Сервисы каталогизируют элементы, чтобы помочь в переносе их с одного сервера на другой. Его также можно использовать для простого массового перемещения элементов из одной папки Reporting Services в другую на том же сервере . В зависимости от выбранных параметров сценария Scripter служб Reporting Services может также передавать все свойства элементов каталога , такие как описания, параметры истории, параметры выполнения {{1} } (включая расписания для отчетов и общих ), подписки (обычные и на основе данных) и параметры отчетов на стороне сервера.

1
ответ дан 27 November 2019 в 18:34
поделиться

Я использовал предоставленный сценарий @David , но мне пришлось добавить код (я набираю его как ответ, так как это будет слишком долго для комментария.

Проблема в : если в определении отчета уже есть «общий источник данных», прикрепленный к отчету, это никогда не будет тот же источник данных, который создается в сценарии.

Это также становится очевидным из предупреждения, выдаваемого «CreateReport» "метод:

Набор данных" "относится к общему источнику данных" ", который не публикуется на сервере отчетов.

Таким образом, источник данных должен быть установлен явно позже. Я сделал следующий код изменения:

Я добавил глобальную переменную:

Dim dataSourceRefs(0) As DataSource

В конце метода CreateDataSource эта переменная заполняется:

Dim dsr As New DataSourceReference
dsr.Reference = "/" + parentFolder + "/" + db
Dim ds As New DataSource
ds.Item = CType(dsr, DataSourceDefinitionOrReference)
ds.Name = db
dataSourceRefs(0) = ds

И в методе PublishReport этот источник данных устанавливается явно (после вызова CreateReport):

rs.SetItemDataSources(targetFolder + "/" + reportName.Substring(0, reportName.Length - 4), dataSourceRefs)

Обратите внимание, что этот последний вызов относится только к RS 2005 или выше. Если вы хотите загрузить свои отчеты на сервер RS 2000, вы должны использовать Set Report Источники данных вместо:

rs.SetReportDataSources(targetFolder + "/" + reportName.Substring(0, reportName.Length - 4), dataSourceRefs)
8
ответ дан 27 November 2019 в 18:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: