Click here to Skip to main content
15,889,281 members
Home / Discussions / C#
   

C#

 
QuestionC# config file stopped working Pin
Ismael_19991-Mar-23 3:11
Ismael_19991-Mar-23 3:11 
AnswerRe: C# config file stopped working Pin
Richard Deeming1-Mar-23 3:25
mveRichard Deeming1-Mar-23 3:25 
GeneralRe: C# config file stopped working Pin
Ismael_19992-Mar-23 10:01
Ismael_19992-Mar-23 10:01 
GeneralRe: C# config file stopped working Pin
Richard Deeming2-Mar-23 21:21
mveRichard Deeming2-Mar-23 21:21 
GeneralRe: C# config file stopped working Pin
Eddy Vluggen4-Mar-23 8:03
professionalEddy Vluggen4-Mar-23 8:03 
QuestionNuget Visual Studio Pin
Kevin Dzimiera 202226-Feb-23 11:48
Kevin Dzimiera 202226-Feb-23 11:48 
AnswerRe: Nuget Visual Studio Pin
Dave Kreskowiak26-Feb-23 15:20
mveDave Kreskowiak26-Feb-23 15:20 
AnswerRe: Nuget Visual Studio Pin
Eddy Vluggen4-Mar-23 8:07
professionalEddy Vluggen4-Mar-23 8:07 
QuestionDeleting characters from a list<char> Pin
mjcs10024-Feb-23 5:53
mjcs10024-Feb-23 5:53 
AnswerRe: Deleting characters from a list<char> Pin
Gerry Schmitz24-Feb-23 8:53
mveGerry Schmitz24-Feb-23 8:53 
GeneralRe: Deleting characters from a list<char> Pin
mjcs10024-Feb-23 11:18
mjcs10024-Feb-23 11:18 
GeneralRe: Deleting characters from a list<char> Pin
Gerry Schmitz24-Feb-23 19:25
mveGerry Schmitz24-Feb-23 19:25 
GeneralRe: Deleting characters from a list<char> Pin
mjcs10024-Feb-23 20:35
mjcs10024-Feb-23 20:35 
GeneralRe: Deleting characters from a list<char> Pin
Gerry Schmitz25-Feb-23 6:39
mveGerry Schmitz25-Feb-23 6:39 
AnswerRe: Deleting characters from a list<char> Pin
Eddy Vluggen25-Feb-23 6:24
professionalEddy Vluggen25-Feb-23 6:24 
AnswerRe: Deleting characters from a list<char> Pin
lmoelleb27-Feb-23 4:45
lmoelleb27-Feb-23 4:45 
AnswerRe: Deleting characters from a list<char> Pin
jochance7-Mar-23 8:21
jochance7-Mar-23 8:21 
QuestionC# xml serialization Pin
di24125313416-Feb-23 2:02
di24125313416-Feb-23 2:02 
AnswerRe: C# xml serialization Pin
Richard Deeming16-Feb-23 2:17
mveRichard Deeming16-Feb-23 2:17 
AnswerRe: C# xml serialization Pin
Dave Kreskowiak16-Feb-23 2:28
mveDave Kreskowiak16-Feb-23 2:28 
AnswerRe: C# xml serialization Pin
OriginalGriff16-Feb-23 9:00
mveOriginalGriff16-Feb-23 9:00 
QuestionSQL Injection Detection Pin
Member 805432115-Feb-23 5:01
Member 805432115-Feb-23 5:01 
Please help make this code work. I'm trying to run it in Visual Studio 2022. Thanks.

<pre lang="C#">


using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Numpy;
using Python.Runtime;
using Keras;
using Keras.Layers;
using Keras.Models;
using Keras.Optimizers;
using Keras.losses;

namespace SQLInjectionDetection
{
    class Program
    {
        static void Main(string[] args)
        {
            // Load CSV file
            var trainData = File.ReadAllLines("tokens.csv")
                .Select(l => l.Split(','))
                .Select(s => new { Token = s[0], Label = int.Parse(s[1]) })
                .ToList();

            // Shuffle trainData
            var random = new Random();
            trainData = trainData.OrderBy(d => random.Next()).ToList();

            // Split trainData into training and validation sets
            var splitIndex = (int)(trainData.Count * 0.8);
            var trainDataSubset = trainData.Take(splitIndex).ToList();
            var testDataSubset = trainData.Skip(splitIndex).ToList();

            // Define vocabulary and tokenize trainData
            var vocabulary = new HashSet<char>(trainDataSubset.SelectMany(d => d.Token).Distinct());
            var tokenToIndex = vocabulary.Select((c, i) => new { Token = c, Index = i }).ToDictionary(t => t.Token, t => t.Index);
            var maxSequenceLength = trainDataSubset.Max(d => d.Token.Length);
            var trainTokenized = Tokenize(trainDataSubset, tokenToIndex, maxSequenceLength);
            var testTokenized = Tokenize(testDataSubset, tokenToIndex, maxSequenceLength);

            // Build RNN model
            using (Py.GIL())
            {
                dynamic keras = Py.Import("keras");
                dynamic np = Py.Import("numpy");
                var input = new Input(shape: 1000);
                var embedding = new Embedding(vocabulary.Count, 32).Apply(input);
                var lstm = new LSTM(32).Apply(embedding);
                var output = new Dense(1, activation: keras.activations.sigmoid).Apply(lstm);
                var model = new Model(inputs: input, outputs: output);
                model.Compile(optimizer: new Adam(), loss: new BinaryCrossentropy(), metrics: new[] { "accuracy" });

                // Train model
                var trainX = trainTokenized.Item1;
                var trainY = trainTokenized.Item2;
                var testX = testTokenized.Item1;
                var testY = testTokenized.Item2;
                model.Fit(trainX, trainY, batchSize: 32, epochs: 10, validationData: (testX, testY));

                // Take user input and make prediction
                Console.Write("Enter user input: ");
                var userInput = Console.ReadLine();
                var inputTokenized = TokenizeInput(userInput, tokenToIndex, maxSequenceLength);
                var prediction = model.Predict(inputTokenized).GetData<float>()[0, 0];
                Console.WriteLine($"Prediction: {(prediction > 0.5 ? "Malicious" : "Safe")} (Score: {prediction:F4})");

                // Evaluate model
                var testMetrics = model.Evaluate(testX, testY);
                Console.WriteLine($"Test loss: {testMetrics[0]:F4}");
                Console.WriteLine($"Test accuracy: {testMetrics[1]:F4}");
            }
        }

        private static (NDarray, NDarray) Tokenize(List<dynamic> data, Dictionary<char, int> tokenToIndex, int maxSequenceLength)
        {
            var numExamples = data.Count;
            var X = np.zeros((numExamples, maxSequenceLength));
            var Y = np.zeros((numExamples, 1));
            for (var i = 0; i < numExamples; i++)
            {
                var tokens = data[i].Token;
                var label = data[i].Label;
                Y[i] = label;
                for (var j = 0; j < tokens.Length; j++)
                {
                    var token = tokens[j];
                    var index = tokenToIndex[token];
                    X[i, j] = index;
                }
            }
            return (X, Y);
        }

    }
}

AnswerRe: SQL Injection Detection Pin
OriginalGriff15-Feb-23 5:21
mveOriginalGriff15-Feb-23 5:21 
Question.NetMAUI and NAudio Pin
D^Handy14-Feb-23 17:47
D^Handy14-Feb-23 17:47 
AnswerRe: .NetMAUI and NAudio Pin
Gerry Schmitz15-Feb-23 12:35
mveGerry Schmitz15-Feb-23 12:35 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.